Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
64c9d27d
Commit
64c9d27d
authored
Jan 30, 2007
by
Jeff Garzik
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' into upstream-fixes
parents
03ee5b1c
c0d4d573
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
34 additions
and
55 deletions
+34
-55
arch/powerpc/Kconfig
arch/powerpc/Kconfig
+4
-1
arch/powerpc/kernel/pci_64.c
arch/powerpc/kernel/pci_64.c
+1
-1
arch/powerpc/platforms/ps3/Makefile
arch/powerpc/platforms/ps3/Makefile
+2
-1
arch/powerpc/platforms/ps3/interrupt.c
arch/powerpc/platforms/ps3/interrupt.c
+1
-1
block/scsi_ioctl.c
block/scsi_ioctl.c
+3
-2
drivers/net/sky2.c
drivers/net/sky2.c
+0
-25
fs/buffer.c
fs/buffer.c
+5
-1
mm/page-writeback.c
mm/page-writeback.c
+18
-23
No files found.
arch/powerpc/Kconfig
View file @
64c9d27d
...
@@ -526,12 +526,15 @@ config PPC_IBM_CELL_BLADE
...
@@ -526,12 +526,15 @@ config PPC_IBM_CELL_BLADE
select UDBG_RTAS_CONSOLE
select UDBG_RTAS_CONSOLE
config PPC_PS3
config PPC_PS3
bool "Sony PS3"
bool "Sony PS3
(incomplete)
"
depends on PPC_MULTIPLATFORM && PPC64
depends on PPC_MULTIPLATFORM && PPC64
select PPC_CELL
select PPC_CELL
help
help
This option enables support for the Sony PS3 game console
This option enables support for the Sony PS3 game console
and other platforms using the PS3 hypervisor.
and other platforms using the PS3 hypervisor.
Support for this platform is not yet complete, so
enabling this will not result in a bootable kernel on a
PS3 system.
config PPC_NATIVE
config PPC_NATIVE
bool
bool
...
...
arch/powerpc/kernel/pci_64.c
View file @
64c9d27d
...
@@ -1430,7 +1430,7 @@ long sys_pciconfig_iobase(long which, unsigned long in_bus,
...
@@ -1430,7 +1430,7 @@ long sys_pciconfig_iobase(long which, unsigned long in_bus,
for
(
ln
=
pci_root_buses
.
next
;
ln
!=
&
pci_root_buses
;
ln
=
ln
->
next
)
{
for
(
ln
=
pci_root_buses
.
next
;
ln
!=
&
pci_root_buses
;
ln
=
ln
->
next
)
{
bus
=
pci_bus_b
(
ln
);
bus
=
pci_bus_b
(
ln
);
if
(
in_bus
>=
bus
->
number
&&
in_bus
<
(
bus
->
number
+
bus
->
subordinate
)
)
if
(
in_bus
>=
bus
->
number
&&
in_bus
<
=
bus
->
subordinate
)
break
;
break
;
bus
=
NULL
;
bus
=
NULL
;
}
}
...
...
arch/powerpc/platforms/ps3/Makefile
View file @
64c9d27d
obj-y
+=
setup.o mm.o
smp.o
time.o hvcall.o htab.o repository.o
obj-y
+=
setup.o mm.o time.o hvcall.o htab.o repository.o
obj-y
+=
interrupt.o exports.o os-area.o
obj-y
+=
interrupt.o exports.o os-area.o
obj-$(CONFIG_SMP)
+=
smp.o
obj-$(CONFIG_SPU_BASE)
+=
spu.o
obj-$(CONFIG_SPU_BASE)
+=
spu.o
arch/powerpc/platforms/ps3/interrupt.c
View file @
64c9d27d
...
@@ -71,7 +71,7 @@ int ps3_free_io_irq(unsigned int virq)
...
@@ -71,7 +71,7 @@ int ps3_free_io_irq(unsigned int virq)
result
=
lv1_destruct_io_irq_outlet
(
virq_to_hw
(
virq
));
result
=
lv1_destruct_io_irq_outlet
(
virq_to_hw
(
virq
));
if
(
!
result
)
if
(
result
)
pr_debug
(
"%s:%d: lv1_destruct_io_irq_outlet failed: %s
\n
"
,
pr_debug
(
"%s:%d: lv1_destruct_io_irq_outlet failed: %s
\n
"
,
__func__
,
__LINE__
,
ps3_result
(
result
));
__func__
,
__LINE__
,
ps3_result
(
result
));
...
...
block/scsi_ioctl.c
View file @
64c9d27d
...
@@ -223,7 +223,7 @@ static int verify_command(struct file *file, unsigned char *cmd)
...
@@ -223,7 +223,7 @@ static int verify_command(struct file *file, unsigned char *cmd)
static
int
sg_io
(
struct
file
*
file
,
request_queue_t
*
q
,
static
int
sg_io
(
struct
file
*
file
,
request_queue_t
*
q
,
struct
gendisk
*
bd_disk
,
struct
sg_io_hdr
*
hdr
)
struct
gendisk
*
bd_disk
,
struct
sg_io_hdr
*
hdr
)
{
{
unsigned
long
start_time
;
unsigned
long
start_time
,
timeout
;
int
writing
=
0
,
ret
=
0
;
int
writing
=
0
,
ret
=
0
;
struct
request
*
rq
;
struct
request
*
rq
;
char
sense
[
SCSI_SENSE_BUFFERSIZE
];
char
sense
[
SCSI_SENSE_BUFFERSIZE
];
...
@@ -271,7 +271,8 @@ static int sg_io(struct file *file, request_queue_t *q,
...
@@ -271,7 +271,8 @@ static int sg_io(struct file *file, request_queue_t *q,
rq
->
cmd_type
=
REQ_TYPE_BLOCK_PC
;
rq
->
cmd_type
=
REQ_TYPE_BLOCK_PC
;
rq
->
timeout
=
jiffies_to_msecs
(
hdr
->
timeout
);
timeout
=
msecs_to_jiffies
(
hdr
->
timeout
);
rq
->
timeout
=
(
timeout
<
INT_MAX
)
?
timeout
:
INT_MAX
;
if
(
!
rq
->
timeout
)
if
(
!
rq
->
timeout
)
rq
->
timeout
=
q
->
sg_timeout
;
rq
->
timeout
=
q
->
sg_timeout
;
if
(
!
rq
->
timeout
)
if
(
!
rq
->
timeout
)
...
...
drivers/net/sky2.c
View file @
64c9d27d
...
@@ -3639,29 +3639,6 @@ static int sky2_resume(struct pci_dev *pdev)
...
@@ -3639,29 +3639,6 @@ static int sky2_resume(struct pci_dev *pdev)
out:
out:
return
err
;
return
err
;
}
}
/* BIOS resume runs after device (it's a bug in PM)
* as a temporary workaround on suspend/resume leave MSI disabled
*/
static
int
sky2_suspend_late
(
struct
pci_dev
*
pdev
,
pm_message_t
state
)
{
struct
sky2_hw
*
hw
=
pci_get_drvdata
(
pdev
);
free_irq
(
pdev
->
irq
,
hw
);
if
(
hw
->
msi
)
{
pci_disable_msi
(
pdev
);
hw
->
msi
=
0
;
}
return
0
;
}
static
int
sky2_resume_early
(
struct
pci_dev
*
pdev
)
{
struct
sky2_hw
*
hw
=
pci_get_drvdata
(
pdev
);
struct
net_device
*
dev
=
hw
->
dev
[
0
];
return
request_irq
(
pdev
->
irq
,
sky2_intr
,
IRQF_SHARED
,
dev
->
name
,
hw
);
}
#endif
#endif
static
struct
pci_driver
sky2_driver
=
{
static
struct
pci_driver
sky2_driver
=
{
...
@@ -3672,8 +3649,6 @@ static struct pci_driver sky2_driver = {
...
@@ -3672,8 +3649,6 @@ static struct pci_driver sky2_driver = {
#ifdef CONFIG_PM
#ifdef CONFIG_PM
.
suspend
=
sky2_suspend
,
.
suspend
=
sky2_suspend
,
.
resume
=
sky2_resume
,
.
resume
=
sky2_resume
,
.
suspend_late
=
sky2_suspend_late
,
.
resume_early
=
sky2_resume_early
,
#endif
#endif
};
};
...
...
fs/buffer.c
View file @
64c9d27d
...
@@ -2844,7 +2844,6 @@ int try_to_free_buffers(struct page *page)
...
@@ -2844,7 +2844,6 @@ int try_to_free_buffers(struct page *page)
spin_lock
(
&
mapping
->
private_lock
);
spin_lock
(
&
mapping
->
private_lock
);
ret
=
drop_buffers
(
page
,
&
buffers_to_free
);
ret
=
drop_buffers
(
page
,
&
buffers_to_free
);
spin_unlock
(
&
mapping
->
private_lock
);
/*
/*
* If the filesystem writes its buffers by hand (eg ext3)
* If the filesystem writes its buffers by hand (eg ext3)
...
@@ -2855,9 +2854,14 @@ int try_to_free_buffers(struct page *page)
...
@@ -2855,9 +2854,14 @@ int try_to_free_buffers(struct page *page)
* Also, during truncate, discard_buffer will have marked all
* Also, during truncate, discard_buffer will have marked all
* the page's buffers clean. We discover that here and clean
* the page's buffers clean. We discover that here and clean
* the page also.
* the page also.
*
* private_lock must be held over this entire operation in order
* to synchronise against __set_page_dirty_buffers and prevent the
* dirty bit from being lost.
*/
*/
if
(
ret
)
if
(
ret
)
cancel_dirty_page
(
page
,
PAGE_CACHE_SIZE
);
cancel_dirty_page
(
page
,
PAGE_CACHE_SIZE
);
spin_unlock
(
&
mapping
->
private_lock
);
out:
out:
if
(
buffers_to_free
)
{
if
(
buffers_to_free
)
{
struct
buffer_head
*
bh
=
buffers_to_free
;
struct
buffer_head
*
bh
=
buffers_to_free
;
...
...
mm/page-writeback.c
View file @
64c9d27d
...
@@ -133,11 +133,9 @@ get_dirty_limits(long *pbackground, long *pdirty,
...
@@ -133,11 +133,9 @@ get_dirty_limits(long *pbackground, long *pdirty,
#ifdef CONFIG_HIGHMEM
#ifdef CONFIG_HIGHMEM
/*
/*
* If this mapping can only allocate from low memory,
* We always exclude high memory from our count.
* we exclude high memory from our count.
*/
*/
if
(
mapping
&&
!
(
mapping_gfp_mask
(
mapping
)
&
__GFP_HIGHMEM
))
available_memory
-=
totalhigh_pages
;
available_memory
-=
totalhigh_pages
;
#endif
#endif
...
@@ -526,28 +524,25 @@ static struct notifier_block __cpuinitdata ratelimit_nb = {
...
@@ -526,28 +524,25 @@ static struct notifier_block __cpuinitdata ratelimit_nb = {
};
};
/*
/*
* If the machine has a large highmem:lowmem ratio then scale back the default
* Called early on to tune the page writeback dirty limits.
* dirty memory thresholds: allowing too much dirty highmem pins an excessive
*
* number of buffer_heads.
* We used to scale dirty pages according to how total memory
* related to pages that could be allocated for buffers (by
* comparing nr_free_buffer_pages() to vm_total_pages.
*
* However, that was when we used "dirty_ratio" to scale with
* all memory, and we don't do that any more. "dirty_ratio"
* is now applied to total non-HIGHPAGE memory (by subtracting
* totalhigh_pages from vm_total_pages), and as such we can't
* get into the old insane situation any more where we had
* large amounts of dirty pages compared to a small amount of
* non-HIGHMEM memory.
*
* But we might still want to scale the dirty_ratio by how
* much memory the box has..
*/
*/
void
__init
page_writeback_init
(
void
)
void
__init
page_writeback_init
(
void
)
{
{
long
buffer_pages
=
nr_free_buffer_pages
();
long
correction
;
correction
=
(
100
*
4
*
buffer_pages
)
/
vm_total_pages
;
if
(
correction
<
100
)
{
dirty_background_ratio
*=
correction
;
dirty_background_ratio
/=
100
;
vm_dirty_ratio
*=
correction
;
vm_dirty_ratio
/=
100
;
if
(
dirty_background_ratio
<=
0
)
dirty_background_ratio
=
1
;
if
(
vm_dirty_ratio
<=
0
)
vm_dirty_ratio
=
1
;
}
mod_timer
(
&
wb_timer
,
jiffies
+
dirty_writeback_interval
);
mod_timer
(
&
wb_timer
,
jiffies
+
dirty_writeback_interval
);
writeback_set_ratelimit
();
writeback_set_ratelimit
();
register_cpu_notifier
(
&
ratelimit_nb
);
register_cpu_notifier
(
&
ratelimit_nb
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment