Re: [PATCH 1/6] cpuset write dirty map

2007-09-18 Thread Ethan Solomita
Andrew Morton wrote: > On Tue, 11 Sep 2007 18:36:34 -0700 > Ethan Solomita <[EMAIL PROTECTED]> wrote: > >> Add a dirty map to struct address_space > > I get a tremendous number of rejects trying to wedge this stuff on top of > Peter's mm-dirty-balancing-for-tasks ch

Re: [PATCH 6/6] cpuset dirty limits

2007-09-18 Thread Ethan Solomita
Christoph Lameter wrote: > On Fri, 14 Sep 2007, Andrew Morton wrote: > >>> + mutex_lock(_mutex); >>> + *cs_int = val; >>> + mutex_unlock(_mutex); >> I don't think this locking does anything? > > Locking is wrong here. The lock needs to be taken before the cs pointer > is dereferenced from

Re: [PATCH 1/6] cpuset write dirty map

2007-09-18 Thread Ethan Solomita
Andrew Morton wrote: On Tue, 11 Sep 2007 18:36:34 -0700 Ethan Solomita [EMAIL PROTECTED] wrote: Add a dirty map to struct address_space I get a tremendous number of rejects trying to wedge this stuff on top of Peter's mm-dirty-balancing-for-tasks changes. More rejects than I am prepared

Re: [PATCH 6/6] cpuset dirty limits

2007-09-18 Thread Ethan Solomita
Christoph Lameter wrote: On Fri, 14 Sep 2007, Andrew Morton wrote: + mutex_lock(callback_mutex); + *cs_int = val; + mutex_unlock(callback_mutex); I don't think this locking does anything? Locking is wrong here. The lock needs to be taken before the cs pointer is dereferenced from

[PATCH 6/6] cpuset dirty limits

2007-09-11 Thread Ethan Solomita
start synchrononous writeout. Both variables are set to -1 by default which means that the global limits (/proc/sys/vm/vm_dirty_ratio and /proc/sys/vm/dirty_background_ratio) are used for a cpuset. Signed-off-by: Christoph Lameter <[EMAIL PROTECTED]> Acked-by: Ethan Solomita <[EMAIL

[PATCH 5/6] cpuset write vm writeout

2007-09-11 Thread Ethan Solomita
work during synchrononous reclaim and not from kswapd. Signed-off-by: Christoph Lameter <[EMAIL PROTECTED]> Acked-by: Ethan Solomita <[EMAIL PROTECTED]> --- Patch against 2.6.23-rc4-mm1 diff -uprN -X 0/Documentation/dontdiff 4/include/linux/writeback.h 5/include/linux/writeback.h -

[PATCH 3/6] cpuset write throttle

2007-09-11 Thread Ethan Solomita
processor counters for each processor on each invocation of get_dirty_limits(). We now add per node information which I think is equal or less effort since there are less nodes than processors. Signed-off-by: Christoph Lameter <[EMAIL PROTECTED]> Signed-off-by: Ethan Solomita <[EMAIL

[PATCH 4/6] cpuset write vmscan

2007-09-11 Thread Ethan Solomita
TED]> Acked-by: Ethan Solomita <[EMAIL PROTECTED]> --- Patch against 2.6.23-rc4-mm1 diff -uprN -X 0/Documentation/dontdiff 3/mm/vmscan.c 4/mm/vmscan.c --- 3/mm/vmscan.c 2007-09-11 14:41:56.0 -0700 +++ 4/mm/vmscan.c 2007-09-11 14:50:41.0 -0700 @@ -1301,7 +1301,8

[PATCH 2/6] cpuset write pdflush nodemask

2007-09-11 Thread Ethan Solomita
structure. Signed-off-by: Christoph Lameter <[EMAIL PROTECTED]> Acked-by: Ethan Solomita <[EMAIL PROTECTED]> --- Patch against 2.6.23-rc4-mm1 diff -uprN -X 0/Documentation/dontdiff 1/fs/buffer.c 2/fs/buffer.c --- 1/fs/buffer.c 2007-09-11 14:36:24.0 -0700 +++ 2/fs/buffer.c

[PATCH 1/6] cpuset write dirty map

2007-09-11 Thread Ethan Solomita
Acked-by: Ethan Solomita <[EMAIL PROTECTED]> --- Patch against 2.6.23-rc4-mm1 diff -uprN -X 0/Documentation/dontdiff 0/fs/buffer.c 1/fs/buffer.c --- 0/fs/buffer.c 2007-09-11 14:35:58.0 -0700 +++ 1/fs/buffer.c 2007-09-11 14:36:24.0 -0700 @@ -41,6 +41,7 @@ #includ

Re: [PATCH 0/6] cpuset aware writeback

2007-09-11 Thread Ethan Solomita
Perform writeback and dirty throttling with awareness of cpuset mem_allowed. The theory of operation has two primary elements: 1. Add a nodemask per mapping which indicates the nodes which have set PageDirty on any page of the mappings. 2. Add a nodemask argument to wakeup_pdflush() which is

Re: [PATCH 0/6] cpuset aware writeback

2007-09-11 Thread Ethan Solomita
Perform writeback and dirty throttling with awareness of cpuset mem_allowed. The theory of operation has two primary elements: 1. Add a nodemask per mapping which indicates the nodes which have set PageDirty on any page of the mappings. 2. Add a nodemask argument to wakeup_pdflush() which is

[PATCH 1/6] cpuset write dirty map

2007-09-11 Thread Ethan Solomita
-by: Ethan Solomita [EMAIL PROTECTED] --- Patch against 2.6.23-rc4-mm1 diff -uprN -X 0/Documentation/dontdiff 0/fs/buffer.c 1/fs/buffer.c --- 0/fs/buffer.c 2007-09-11 14:35:58.0 -0700 +++ 1/fs/buffer.c 2007-09-11 14:36:24.0 -0700 @@ -41,6 +41,7 @@ #include linux/bitops.h

[PATCH 2/6] cpuset write pdflush nodemask

2007-09-11 Thread Ethan Solomita
structure. Signed-off-by: Christoph Lameter [EMAIL PROTECTED] Acked-by: Ethan Solomita [EMAIL PROTECTED] --- Patch against 2.6.23-rc4-mm1 diff -uprN -X 0/Documentation/dontdiff 1/fs/buffer.c 2/fs/buffer.c --- 1/fs/buffer.c 2007-09-11 14:36:24.0 -0700 +++ 2/fs/buffer.c 2007-09-11 14

[PATCH 3/6] cpuset write throttle

2007-09-11 Thread Ethan Solomita
processor counters for each processor on each invocation of get_dirty_limits(). We now add per node information which I think is equal or less effort since there are less nodes than processors. Signed-off-by: Christoph Lameter [EMAIL PROTECTED] Signed-off-by: Ethan Solomita [EMAIL PROTECTED

[PATCH 4/6] cpuset write vmscan

2007-09-11 Thread Ethan Solomita
] Acked-by: Ethan Solomita [EMAIL PROTECTED] --- Patch against 2.6.23-rc4-mm1 diff -uprN -X 0/Documentation/dontdiff 3/mm/vmscan.c 4/mm/vmscan.c --- 3/mm/vmscan.c 2007-09-11 14:41:56.0 -0700 +++ 4/mm/vmscan.c 2007-09-11 14:50:41.0 -0700 @@ -1301,7 +1301,8 @@ unsigned long

[PATCH 5/6] cpuset write vm writeout

2007-09-11 Thread Ethan Solomita
work during synchrononous reclaim and not from kswapd. Signed-off-by: Christoph Lameter [EMAIL PROTECTED] Acked-by: Ethan Solomita [EMAIL PROTECTED] --- Patch against 2.6.23-rc4-mm1 diff -uprN -X 0/Documentation/dontdiff 4/include/linux/writeback.h 5/include/linux/writeback.h --- 4/include

[PATCH 6/6] cpuset dirty limits

2007-09-11 Thread Ethan Solomita
start synchrononous writeout. Both variables are set to -1 by default which means that the global limits (/proc/sys/vm/vm_dirty_ratio and /proc/sys/vm/dirty_background_ratio) are used for a cpuset. Signed-off-by: Christoph Lameter [EMAIL PROTECTED] Acked-by: Ethan Solomita [EMAIL PROTECTED

Re: [PATCH 0/6] cpuset aware writeback

2007-07-23 Thread Ethan Solomita
Christoph Lameter wrote: > On Tue, 17 Jul 2007 14:23:14 -0700 > Ethan Solomita <[EMAIL PROTECTED]> wrote: > >> These patches are mostly unchanged from Chris Lameter's original >> changelist posted previously to linux-mm. > > Thanks for keeping these patches u

Re: [PATCH 0/6] cpuset aware writeback

2007-07-23 Thread Ethan Solomita
Christoph Lameter wrote: On Tue, 17 Jul 2007 14:23:14 -0700 Ethan Solomita [EMAIL PROTECTED] wrote: These patches are mostly unchanged from Chris Lameter's original changelist posted previously to linux-mm. Thanks for keeping these patches up to date. Add you signoff if you did

[PATCH 6/6] cpuset dirty limits

2007-07-17 Thread Ethan Solomita
start synchrononous writeout. Both variables are set to -1 by default which means that the global limits (/proc/sys/vm/vm_dirty_ratio and /proc/sys/vm/dirty_background_ratio) are used for a cpuset. Signed-off-by: Christoph Lameter <[EMAIL PROTECTED]> Acked-by: Ethan Solomita <[EMAIL

[PATCH 5/6] cpuset write vm writeout

2007-07-17 Thread Ethan Solomita
work during synchrononous reclaim and not from kswapd. Signed-off-by: Christoph Lameter <[EMAIL PROTECTED]> Acked-by: Ethan Solomita <[EMAIL PROTECTED]> --- Patch against 2.6.22-rc6-mm1 diff -uprN -X 0/Documentation/dontdiff 4/include/linux/writeback.h 5/include/linux/writeback.h -

[PATCH 4/6] cpuset write vmscan

2007-07-17 Thread Ethan Solomita
TED]> Acked-by: Ethan Solomita <[EMAIL PROTECTED]> --- Patch against 2.6.22-rc6-mm1 diff -uprN -X 0/Documentation/dontdiff 3/mm/vmscan.c 4/mm/vmscan.c --- 3/mm/vmscan.c 2007-07-11 21:16:14.0 -0700 +++ 4/mm/vmscan.c 2007-07-11 21:16:26.0 -0700 @@ -1183,7 +1183,8

[PATCH 2/6] cpuset write pdflush nodemask

2007-07-17 Thread Ethan Solomita
structure. Signed-off-by: Christoph Lameter <[EMAIL PROTECTED]> Acked-by: Ethan Solomita <[EMAIL PROTECTED]> --- Patch against 2.6.22-rc6-mm1 diff -uprN -X 0/Documentation/dontdiff 1/fs/buffer.c 2/fs/buffer.c --- 1/fs/buffer.c 2007-07-11 21:08:04.0 -0700 +++ 2/fs/buffer.c

[PATCH 3/6] cpuset write throttle

2007-07-17 Thread Ethan Solomita
processor counters for each processor on each invocation of get_dirty_limits(). We now add per node information which I think is equal or less effort since there are less nodes than processors. Signed-off-by: Christoph Lameter <[EMAIL PROTECTED]> Acked-by: Ethan Solomita <[EMAIL

[PATCH 1/6] cpuset write dirty map

2007-07-17 Thread Ethan Solomita
Acked-by: Ethan Solomita <[EMAIL PROTECTED]> --- Patch against 2.6.22-rc6-mm1 diff -uprN -X 0/Documentation/dontdiff 0/fs/buffer.c 1/fs/buffer.c --- 0/fs/buffer.c 2007-07-11 20:30:55.0 -0700 +++ 1/fs/buffer.c 2007-07-11 21:08:04.0 -0700 @@ -41,6 +41,7 @@ #includ

[PATCH 0/6] cpuset aware writeback

2007-07-17 Thread Ethan Solomita
Perform writeback and dirty throttling with awareness of cpuset mem_allowed. The theory of operation has two primary elements: 1. Add a nodemask per mapping which indicates the nodes which have set PageDirty on any page of the mappings. 2. Add a nodemask argument to wakeup_pdflush() which is

[PATCH 0/6] cpuset aware writeback

2007-07-17 Thread Ethan Solomita
Perform writeback and dirty throttling with awareness of cpuset mem_allowed. The theory of operation has two primary elements: 1. Add a nodemask per mapping which indicates the nodes which have set PageDirty on any page of the mappings. 2. Add a nodemask argument to wakeup_pdflush() which is

[PATCH 1/6] cpuset write dirty map

2007-07-17 Thread Ethan Solomita
-by: Ethan Solomita [EMAIL PROTECTED] --- Patch against 2.6.22-rc6-mm1 diff -uprN -X 0/Documentation/dontdiff 0/fs/buffer.c 1/fs/buffer.c --- 0/fs/buffer.c 2007-07-11 20:30:55.0 -0700 +++ 1/fs/buffer.c 2007-07-11 21:08:04.0 -0700 @@ -41,6 +41,7 @@ #include linux/bitops.h

[PATCH 2/6] cpuset write pdflush nodemask

2007-07-17 Thread Ethan Solomita
structure. Signed-off-by: Christoph Lameter [EMAIL PROTECTED] Acked-by: Ethan Solomita [EMAIL PROTECTED] --- Patch against 2.6.22-rc6-mm1 diff -uprN -X 0/Documentation/dontdiff 1/fs/buffer.c 2/fs/buffer.c --- 1/fs/buffer.c 2007-07-11 21:08:04.0 -0700 +++ 2/fs/buffer.c 2007-07-11 21

[PATCH 3/6] cpuset write throttle

2007-07-17 Thread Ethan Solomita
processor counters for each processor on each invocation of get_dirty_limits(). We now add per node information which I think is equal or less effort since there are less nodes than processors. Signed-off-by: Christoph Lameter [EMAIL PROTECTED] Acked-by: Ethan Solomita [EMAIL PROTECTED] --- Patch

[PATCH 4/6] cpuset write vmscan

2007-07-17 Thread Ethan Solomita
] Acked-by: Ethan Solomita [EMAIL PROTECTED] --- Patch against 2.6.22-rc6-mm1 diff -uprN -X 0/Documentation/dontdiff 3/mm/vmscan.c 4/mm/vmscan.c --- 3/mm/vmscan.c 2007-07-11 21:16:14.0 -0700 +++ 4/mm/vmscan.c 2007-07-11 21:16:26.0 -0700 @@ -1183,7 +1183,8 @@ unsigned long

[PATCH 5/6] cpuset write vm writeout

2007-07-17 Thread Ethan Solomita
work during synchrononous reclaim and not from kswapd. Signed-off-by: Christoph Lameter [EMAIL PROTECTED] Acked-by: Ethan Solomita [EMAIL PROTECTED] --- Patch against 2.6.22-rc6-mm1 diff -uprN -X 0/Documentation/dontdiff 4/include/linux/writeback.h 5/include/linux/writeback.h --- 4/include

[PATCH 6/6] cpuset dirty limits

2007-07-17 Thread Ethan Solomita
start synchrononous writeout. Both variables are set to -1 by default which means that the global limits (/proc/sys/vm/vm_dirty_ratio and /proc/sys/vm/dirty_background_ratio) are used for a cpuset. Signed-off-by: Christoph Lameter [EMAIL PROTECTED] Acked-by: Ethan Solomita [EMAIL PROTECTED

Re: [RFC 1/7] cpuset write dirty map

2007-07-11 Thread Ethan Solomita
Christoph Lameter wrote: > > This may be a leftover from earlier times when the logic was different in > throttle vm writeout? Sorry -- my merge error when looking at an earlier kernel, no issue with mainline or -mm. -- Ethan - To unsubscribe from this list: send the line

Re: [RFC 1/7] cpuset write dirty map

2007-07-11 Thread Ethan Solomita
Christoph -- I have a question about one part of the patches. In throttle_vm_writeout() you added a clause that checks for __GFP_FS | __GFP_IO and if they're not both set it calls blk_congestion_wait() immediately and then returns, no change for looping. Two questions: 1. This seems like

Re: [RFC 1/7] cpuset write dirty map

2007-07-11 Thread Ethan Solomita
Christoph -- I have a question about one part of the patches. In throttle_vm_writeout() you added a clause that checks for __GFP_FS | __GFP_IO and if they're not both set it calls blk_congestion_wait() immediately and then returns, no change for looping. Two questions: 1. This seems like

Re: [RFC 1/7] cpuset write dirty map

2007-07-11 Thread Ethan Solomita
Christoph Lameter wrote: This may be a leftover from earlier times when the logic was different in throttle vm writeout? Sorry -- my merge error when looking at an earlier kernel, no issue with mainline or -mm. -- Ethan - To unsubscribe from this list: send the line

Re: [RFC 1/7] cpuset write dirty map

2007-06-30 Thread Ethan Solomita
Christoph Lameter wrote: > On Wed, 27 Jun 2007, Ethan Solomita wrote: > >> I looked over it at one point. Most of the code doesn't conflict, but I >> believe that the code path which calculates the dirty limits will need >> some merging. Doable but non-trivial. >

Re: [RFC 1/7] cpuset write dirty map

2007-06-30 Thread Ethan Solomita
Christoph Lameter wrote: On Wed, 27 Jun 2007, Ethan Solomita wrote: I looked over it at one point. Most of the code doesn't conflict, but I believe that the code path which calculates the dirty limits will need some merging. Doable but non-trivial. -- Ethan I hope you will keep

Re: [RFC 1/7] cpuset write dirty map

2007-06-27 Thread Ethan Solomita
Andrew Morton wrote: > > One open question is the interaction between these changes and with Peter's > per-device-dirty-throttling changes. They also are in my queue somewhere. I looked over it at one point. Most of the code doesn't conflict, but I believe that the code path which

Re: [RFC 1/7] cpuset write dirty map

2007-06-27 Thread Ethan Solomita
Andrew Morton wrote: One open question is the interaction between these changes and with Peter's per-device-dirty-throttling changes. They also are in my queue somewhere. I looked over it at one point. Most of the code doesn't conflict, but I believe that the code path which

Re: [RFC 1/7] cpuset write dirty map

2007-06-25 Thread Ethan Solomita
Christoph Lameter wrote: > > What testing was done? Would you include the results of tests in your next > post? Sorry for the delay in responding -- I was chasing phantom failures. I created a stress test which involved using cpusets and mems_allowed to split memory so that all

Re: [RFC 1/7] cpuset write dirty map

2007-06-25 Thread Ethan Solomita
Christoph Lameter wrote: What testing was done? Would you include the results of tests in your next post? Sorry for the delay in responding -- I was chasing phantom failures. I created a stress test which involved using cpusets and mems_allowed to split memory so that all

Re: [RFC 1/7] cpuset write dirty map

2007-06-04 Thread Ethan Solomita
Christoph Lameter wrote: > On Thu, 31 May 2007, Ethan Solomita wrote: > >> The dirty map is only cleared (or freed) when the inode is cleared. >> At that point no pages are attached to the inode anymore and therefore it can >> be done without any locking. The dirty map the

Re: [RFC 1/7] cpuset write dirty map

2007-06-04 Thread Ethan Solomita
Christoph Lameter wrote: On Thu, 31 May 2007, Ethan Solomita wrote: The dirty map is only cleared (or freed) when the inode is cleared. At that point no pages are attached to the inode anymore and therefore it can be done without any locking. The dirty map therefore records all nodes

[RFC 7/7] cpuset dirty limits

2007-06-01 Thread Ethan Solomita
start synchrononous writeout. Both variables are set to -1 by default which means that the global limits (/proc/sys/vm/vm_dirty_ratio and /proc/sys/vm/dirty_background_ratio) are used for a cpuset. Originally by Christoph Lameter <[EMAIL PROTECTED]> Signed-off-by: Ethan Solomita <[EMAIL

[RFC 6/7] cpuset write fixes

2007-06-01 Thread Ethan Solomita
Remove unneeded local variable. Originally by Christoph Lameter <[EMAIL PROTECTED]> Signed-off-by: Ethan Solomita <[EMAIL PROTECTED]> --- diff -uprN -X 0/Documentation/dontdiff 5/mm/page-writeback.c 6/mm/page-writeback.c --- 5/mm/page-writeback.c 2007-05-30 11:37:01.000

[RFC 5/7] cpuset write vm writeout

2007-06-01 Thread Ethan Solomita
work during synchrononous reclaim and not from kswapd. Originally by Christoph Lameter <[EMAIL PROTECTED]> Signed-off-by: Ethan Solomita <[EMAIL PROTECTED]> --- diff -uprN -X 0/Documentation/dontdiff 4/include/linux/writeback.h 5/include/linux/writeback.h --- 4/include/linux/writeba

[corrected][RFC 5/7] cpuset write vm writeout

2007-06-01 Thread Ethan Solomita
work during synchrononous reclaim and not from kswapd. Originally by Christoph Lameter <[EMAIL PROTECTED]> Signed-off-by: Ethan Solomita <[EMAIL PROTECTED]> --- diff -uprN -X 0/Documentation/dontdiff 4/include/linux/writeback.h 5/include/linux/writeback.h --- 4/include/linux/writ

[RFC 4/7] cpuset write vmscan

2007-06-01 Thread Ethan Solomita
TED]> Signed-off-by: Ethan Solomita <[EMAIL PROTECTED]> --- diff -uprN -X 0/Documentation/dontdiff 3/mm/vmscan.c 4/mm/vmscan.c --- 3/mm/vmscan.c 2007-05-30 11:34:21.0 -0700 +++ 4/mm/vmscan.c 2007-05-30 11:36:17.0 -0700 @@ -1198,7 +1198,8 @@ unsigned long try_t

[RFC 3/7] cpuset write throttle

2007-06-01 Thread Ethan Solomita
processor counters for each processor on each invocation of get_dirty_limits(). We now add per node information which I think is equal or less effort since there are less nodes than processors. Originally by Christoph Lameter <[EMAIL PROTECTED]> Signed-off-by: Ethan Solomita <[EMAIL

[RFC 2/7] cpuset write pdflush nodemask

2007-06-01 Thread Ethan Solomita
structure. Originally by Christoph Lameter <[EMAIL PROTECTED]> Signed-off-by: Ethan Solomita <[EMAIL PROTECTED]> --- diff -uprN -X 0/Documentation/dontdiff 1/fs/buffer.c 2/fs/buffer.c --- 1/fs/buffer.c 2007-05-29 17:44:33.0 -0700 +++ 2/fs/buffer.c 2007-05-30 11:31:22.000

[RFC 1/7] cpuset write dirty map

2007-06-01 Thread Ethan Solomita
Signed-off-by: Ethan Solomita <[EMAIL PROTECTED]> --- diff -uprN -X 0/Documentation/dontdiff 0/fs/buffer.c 1/fs/buffer.c --- 0/fs/buffer.c 2007-05-29 17:42:07.0 -0700 +++ 1/fs/buffer.c 2007-05-29 17:44:33.0 -0700 @@ -41,6 +41,7 @@ #include #include #includ

[RFC 1/7] cpuset write dirty map

2007-06-01 Thread Ethan Solomita
-off-by: Ethan Solomita [EMAIL PROTECTED] --- diff -uprN -X 0/Documentation/dontdiff 0/fs/buffer.c 1/fs/buffer.c --- 0/fs/buffer.c 2007-05-29 17:42:07.0 -0700 +++ 1/fs/buffer.c 2007-05-29 17:44:33.0 -0700 @@ -41,6 +41,7 @@ #include linux/bitops.h #include linux/mpage.h

[RFC 7/7] cpuset dirty limits

2007-06-01 Thread Ethan Solomita
start synchrononous writeout. Both variables are set to -1 by default which means that the global limits (/proc/sys/vm/vm_dirty_ratio and /proc/sys/vm/dirty_background_ratio) are used for a cpuset. Originally by Christoph Lameter [EMAIL PROTECTED] Signed-off-by: Ethan Solomita [EMAIL PROTECTED

[RFC 6/7] cpuset write fixes

2007-06-01 Thread Ethan Solomita
Remove unneeded local variable. Originally by Christoph Lameter [EMAIL PROTECTED] Signed-off-by: Ethan Solomita [EMAIL PROTECTED] --- diff -uprN -X 0/Documentation/dontdiff 5/mm/page-writeback.c 6/mm/page-writeback.c --- 5/mm/page-writeback.c 2007-05-30 11:37:01.0 -0700 +++ 6/mm

[RFC 2/7] cpuset write pdflush nodemask

2007-06-01 Thread Ethan Solomita
structure. Originally by Christoph Lameter [EMAIL PROTECTED] Signed-off-by: Ethan Solomita [EMAIL PROTECTED] --- diff -uprN -X 0/Documentation/dontdiff 1/fs/buffer.c 2/fs/buffer.c --- 1/fs/buffer.c 2007-05-29 17:44:33.0 -0700 +++ 2/fs/buffer.c 2007-05-30 11:31:22.0 -0700

[RFC 3/7] cpuset write throttle

2007-06-01 Thread Ethan Solomita
processor counters for each processor on each invocation of get_dirty_limits(). We now add per node information which I think is equal or less effort since there are less nodes than processors. Originally by Christoph Lameter [EMAIL PROTECTED] Signed-off-by: Ethan Solomita [EMAIL PROTECTED

[RFC 4/7] cpuset write vmscan

2007-06-01 Thread Ethan Solomita
] Signed-off-by: Ethan Solomita [EMAIL PROTECTED] --- diff -uprN -X 0/Documentation/dontdiff 3/mm/vmscan.c 4/mm/vmscan.c --- 3/mm/vmscan.c 2007-05-30 11:34:21.0 -0700 +++ 4/mm/vmscan.c 2007-05-30 11:36:17.0 -0700 @@ -1198,7 +1198,8 @@ unsigned long try_to_free_pages(struct

[RFC 5/7] cpuset write vm writeout

2007-06-01 Thread Ethan Solomita
work during synchrononous reclaim and not from kswapd. Originally by Christoph Lameter [EMAIL PROTECTED] Signed-off-by: Ethan Solomita [EMAIL PROTECTED] --- diff -uprN -X 0/Documentation/dontdiff 4/include/linux/writeback.h 5/include/linux/writeback.h --- 4/include/linux/writeback.h 2007-05-30

[corrected][RFC 5/7] cpuset write vm writeout

2007-06-01 Thread Ethan Solomita
work during synchrononous reclaim and not from kswapd. Originally by Christoph Lameter [EMAIL PROTECTED] Signed-off-by: Ethan Solomita [EMAIL PROTECTED] --- diff -uprN -X 0/Documentation/dontdiff 4/include/linux/writeback.h 5/include/linux/writeback.h --- 4/include/linux/writeback.h 2007-05-30

Re: NR_UNSTABLE_FS vs. NR_FILE_DIRTY: double counting pages?

2007-04-29 Thread Ethan Solomita
Ethan Solomita wrote: Trond Myklebust wrote: It should not happen. If the page is on the unstable list, then it will be committed before nfs_updatepage is allowed to redirty it. See the recent fixes in 2.6.21-rc7. Above I present a codepath called straight from sys_write() which seems

Re: NR_UNSTABLE_FS vs. NR_FILE_DIRTY: double counting pages?

2007-04-29 Thread Ethan Solomita
Trond Myklebust wrote: On Fri, 2007-04-27 at 18:21 -0700, Ethan Solomita wrote: There are several places where we add together NR_UNSTABLE_FS and NF_FILE_DIRTY: sync_inodes_sb() balance_dirty_pages() wakeup_pdflush() wb_kupdate() prefetch_suitable() I can trace a standard codepath where

Re: NR_UNSTABLE_FS vs. NR_FILE_DIRTY: double counting pages?

2007-04-29 Thread Ethan Solomita
Trond Myklebust wrote: On Fri, 2007-04-27 at 18:21 -0700, Ethan Solomita wrote: There are several places where we add together NR_UNSTABLE_FS and NF_FILE_DIRTY: sync_inodes_sb() balance_dirty_pages() wakeup_pdflush() wb_kupdate() prefetch_suitable() I can trace a standard codepath where

Re: NR_UNSTABLE_FS vs. NR_FILE_DIRTY: double counting pages?

2007-04-29 Thread Ethan Solomita
Ethan Solomita wrote: Trond Myklebust wrote: It should not happen. If the page is on the unstable list, then it will be committed before nfs_updatepage is allowed to redirty it. See the recent fixes in 2.6.21-rc7. Above I present a codepath called straight from sys_write() which seems

NR_UNSTABLE_FS vs. NR_FILE_DIRTY: double counting pages?

2007-04-27 Thread Ethan Solomita
There are several places where we add together NR_UNSTABLE_FS and NF_FILE_DIRTY: sync_inodes_sb() balance_dirty_pages() wakeup_pdflush() wb_kupdate() prefetch_suitable() I can trace a standard codepath where it seems both of these are set on the same page: nfs_file_aops.commit_write ->

NR_UNSTABLE_FS vs. NR_FILE_DIRTY: double counting pages?

2007-04-27 Thread Ethan Solomita
There are several places where we add together NR_UNSTABLE_FS and NF_FILE_DIRTY: sync_inodes_sb() balance_dirty_pages() wakeup_pdflush() wb_kupdate() prefetch_suitable() I can trace a standard codepath where it seems both of these are set on the same page: nfs_file_aops.commit_write -

Re: [RFC 0/8] Cpuset aware writeback

2007-04-21 Thread Ethan Solomita
Christoph Lameter wrote: On Fri, 20 Apr 2007, Ethan Solomita wrote: cpuset_write_dirty_map.htm In __set_page_dirty_nobuffers() you always call cpuset_update_dirty_nodes() but in __set_page_dirty_buffers() you call it only if page->mapping is still set after locking. Is there a rea

Re: [RFC 0/8] Cpuset aware writeback

2007-04-21 Thread Ethan Solomita
Christoph Lameter wrote: On Fri, 20 Apr 2007, Ethan Solomita wrote: cpuset_write_dirty_map.htm In __set_page_dirty_nobuffers() you always call cpuset_update_dirty_nodes() but in __set_page_dirty_buffers() you call it only if page-mapping is still set after locking. Is there a reason

Re: [RFC 0/8] Cpuset aware writeback

2007-04-20 Thread Ethan Solomita
Christoph Lameter wrote: H Sorry. I got distracted and I have sent them to Kame-san who was interested in working on them. I have placed the most recent version at http://ftp.kernel.org/pub/linux/kernel/people/christoph/cpuset_dirty Hi Christoph -- a few comments on the

Re: [RFC 0/8] Cpuset aware writeback

2007-04-20 Thread Ethan Solomita
Christoph Lameter wrote: H Sorry. I got distracted and I have sent them to Kame-san who was interested in working on them. I have placed the most recent version at http://ftp.kernel.org/pub/linux/kernel/people/christoph/cpuset_dirty Hi Christoph -- a few comments on the

Re: [RFC 0/8] Cpuset aware writeback

2007-04-19 Thread Ethan Solomita
Christoph Lameter wrote: On Wed, 18 Apr 2007, Ethan Solomita wrote: Any new ETA? I'm trying to decide whether to go back to your original patches or wait for the new set. Adding new knobs isn't as important to me as having something that fixes the core problem, so hopefully this isn't

Re: [RFC 0/8] Cpuset aware writeback

2007-04-19 Thread Ethan Solomita
Christoph Lameter wrote: On Wed, 18 Apr 2007, Ethan Solomita wrote: Any new ETA? I'm trying to decide whether to go back to your original patches or wait for the new set. Adding new knobs isn't as important to me as having something that fixes the core problem, so hopefully this isn't

Re: [RFC 0/8] Cpuset aware writeback

2007-04-18 Thread Ethan Solomita
Christoph Lameter wrote: On Wed, 21 Mar 2007, Ethan Solomita wrote: Christoph Lameter wrote: On Thu, 1 Feb 2007, Ethan Solomita wrote: Hi Christoph -- has anything come of resolving the NFS / OOM concerns that Andrew Morton expressed concerning the patch? I'd be happy

Re: [RFC 0/8] Cpuset aware writeback

2007-04-18 Thread Ethan Solomita
Christoph Lameter wrote: On Wed, 21 Mar 2007, Ethan Solomita wrote: Christoph Lameter wrote: On Thu, 1 Feb 2007, Ethan Solomita wrote: Hi Christoph -- has anything come of resolving the NFS / OOM concerns that Andrew Morton expressed concerning the patch? I'd be happy

Re: [PATCH] fix sysfs_readdir oops (was Re: sysfs reclaim crash)

2007-04-03 Thread Ethan Solomita
Maneesh Soni wrote: > I have modified the previous patch (which was dropped from -mm) and now > keeping > the statement making s_dentry as NULL in sysfs_d_iput(), so this should > _safely_ fix sysfs_readdir() oops. > If you could find some additional places in sysfs code to add new BUG()

Re: [PATCH] fix sysfs_readdir oops (was Re: sysfs reclaim crash)

2007-04-03 Thread Ethan Solomita
Maneesh Soni wrote: I have modified the previous patch (which was dropped from -mm) and now keeping the statement making s_dentry as NULL in sysfs_d_iput(), so this should _safely_ fix sysfs_readdir() oops. If you could find some additional places in sysfs code to add new BUG()

Re: [FIXED] Re: tty OOPS (Re: 2.6.21-rc5-mm2)

2007-03-28 Thread Ethan Solomita
Apologies -- I didn't notice lkml on the cc list. I'll catch up from lkml directly. -- Ethan - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please

Re: [FIXED] Re: tty OOPS (Re: 2.6.21-rc5-mm2)

2007-03-28 Thread Ethan Solomita
Andreas Mohr wrote: Hi, On Wed, Mar 28, 2007 at 10:56:32PM +0400, Alexey Dobriyan wrote: The only suspicious new patch in -rc5-mm1 to me is fix-sysfs-reclaim-crash.patch which removes "sd->s_dentry = NULL;". Note that whole sysfs_drop_dentry() is NOP if ->s_dentry is NULL. Could you try to

Re: [RFC][PATCH 4/7] RSS accounting hooks over the code

2007-03-28 Thread Ethan Solomita
Nick Piggin wrote: Eric W. Biederman wrote: First touch page ownership does not guarantee give me anything useful for knowing if I can run my application or not. Because of page sharing my application might run inside the rss limit only because I got lucky and happened to share a lot of pages

Re: [RFC][PATCH 4/7] RSS accounting hooks over the code

2007-03-28 Thread Ethan Solomita
Nick Piggin wrote: Eric W. Biederman wrote: First touch page ownership does not guarantee give me anything useful for knowing if I can run my application or not. Because of page sharing my application might run inside the rss limit only because I got lucky and happened to share a lot of pages

Re: [FIXED] Re: tty OOPS (Re: 2.6.21-rc5-mm2)

2007-03-28 Thread Ethan Solomita
Andreas Mohr wrote: Hi, On Wed, Mar 28, 2007 at 10:56:32PM +0400, Alexey Dobriyan wrote: The only suspicious new patch in -rc5-mm1 to me is fix-sysfs-reclaim-crash.patch which removes sd-s_dentry = NULL;. Note that whole sysfs_drop_dentry() is NOP if -s_dentry is NULL. Could you try to

Re: [FIXED] Re: tty OOPS (Re: 2.6.21-rc5-mm2)

2007-03-28 Thread Ethan Solomita
Apologies -- I didn't notice lkml on the cc list. I'll catch up from lkml directly. -- Ethan - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read

Re: Linux-VServer example results for sharing vs. separate mappings ...

2007-03-27 Thread Ethan Solomita
Herbert Poetzl wrote: On Sat, Mar 24, 2007 at 12:19:06PM -0800, Andrew Morton wrote: Or change the reclaim code so that a page which hasn't been referenced from a process within its hardware container is considered unreferenced (so it gets reclaimed). that might easily lead to some

Re: sysfs reclaim crash

2007-03-27 Thread Ethan Solomita
Hi Maneesh -- I will start testing with the patch you provided. If you come up with any further issues please let me know. Also, if you could suggest some additional BUG() lines that I could insert I would appreciate it. Since the bug is hard to reproduce, it may be easier to catch a race

Re: sysfs reclaim crash

2007-03-27 Thread Ethan Solomita
Hi Maneesh -- I will start testing with the patch you provided. If you come up with any further issues please let me know. Also, if you could suggest some additional BUG() lines that I could insert I would appreciate it. Since the bug is hard to reproduce, it may be easier to catch a race

Re: Linux-VServer example results for sharing vs. separate mappings ...

2007-03-27 Thread Ethan Solomita
Herbert Poetzl wrote: On Sat, Mar 24, 2007 at 12:19:06PM -0800, Andrew Morton wrote: Or change the reclaim code so that a page which hasn't been referenced from a process within its hardware container is considered unreferenced (so it gets reclaimed). that might easily lead to some

Re: [RFC 0/8] Cpuset aware writeback

2007-03-21 Thread Ethan Solomita
Christoph Lameter wrote: On Thu, 1 Feb 2007, Ethan Solomita wrote: Hi Christoph -- has anything come of resolving the NFS / OOM concerns that Andrew Morton expressed concerning the patch? I'd be happy to see some progress on getting this patch (i.e. the one you posted on 1/23) through

Re: [PATCH 1/1] mm: Inconsistent use of node IDs

2007-03-16 Thread Ethan Solomita
Ping! -- Ethan Ethan Solomita wrote: > Andi Kleen wrote: > >> On Monday 12 March 2007 23:51, Ethan Solomita wrote: >> >>> This patch corrects inconsistent use of node numbers (variously "nid" or >>> "node") in the presence

Re: [PATCH 1/1] mm: Inconsistent use of node IDs

2007-03-16 Thread Ethan Solomita
Ping! -- Ethan Ethan Solomita wrote: Andi Kleen wrote: On Monday 12 March 2007 23:51, Ethan Solomita wrote: This patch corrects inconsistent use of node numbers (variously nid or node) in the presence of fake NUMA. I think it's very consistent -- your patch would

Re: [PATCH 1/1] mm: Inconsistent use of node IDs

2007-03-12 Thread Ethan Solomita
Andi Kleen wrote: On Monday 12 March 2007 23:51, Ethan Solomita wrote: This patch corrects inconsistent use of node numbers (variously "nid" or "node") in the presence of fake NUMA. I think it's very consistent -- your patch would make it inconsistent though. It'

[PATCH 1/1] mm: Inconsistent use of node IDs

2007-03-12 Thread Ethan Solomita
ide numa_online_phys() which is the same as numa_online() but takes a physical node ID. Change init_cpu_to_node(), x86_64 and PCI code use get_fake_node() and numa_online_phys() in order to convert to an appropriate fake ID. Signed-off-by: Ethan Solomita <[EMAIL PROTECTED]> --- arch/i386/

[PATCH 1/1] mm: Inconsistent use of node IDs

2007-03-12 Thread Ethan Solomita
is the same as numa_online() but takes a physical node ID. Change init_cpu_to_node(), x86_64 and PCI code use get_fake_node() and numa_online_phys() in order to convert to an appropriate fake ID. Signed-off-by: Ethan Solomita [EMAIL PROTECTED] --- arch/i386/pci/acpi.c |6 +++ arch

Re: [PATCH 1/1] mm: Inconsistent use of node IDs

2007-03-12 Thread Ethan Solomita
Andi Kleen wrote: On Monday 12 March 2007 23:51, Ethan Solomita wrote: This patch corrects inconsistent use of node numbers (variously nid or node) in the presence of fake NUMA. I think it's very consistent -- your patch would make it inconsistent though. It's consistent to call

Re: [RFC 0/8] Cpuset aware writeback

2007-02-01 Thread Ethan Solomita
Hi Christoph -- has anything come of resolving the NFS / OOM concerns that Andrew Morton expressed concerning the patch? I'd be happy to see some progress on getting this patch (i.e. the one you posted on 1/23) through. Thanks, -- Ethan - To unsubscribe from this list: send the line

Re: [RFC 0/8] Cpuset aware writeback

2007-02-01 Thread Ethan Solomita
Hi Christoph -- has anything come of resolving the NFS / OOM concerns that Andrew Morton expressed concerning the patch? I'd be happy to see some progress on getting this patch (i.e. the one you posted on 1/23) through. Thanks, -- Ethan - To unsubscribe from this list: send the line