swap prefetch: avoid repeating entry
PATCH 1/1 swap prefetch: avoid repeating entry
I've been unable for 4 months to find someone to test this Andrew. I'm going to assume it fixes the problem on numa=64 (or something like that) so please apply it.
---
Avoid entering trickle_swap() when first initialising kprefetchd to prevent endless loops.
--- mm/swap_prefetch.c | 4 ++++ 1 file changed, 4 insertions(+)
mm/swap_prefetch.c +4 -0
@@ -515,6 +515,10 @@ static int kprefetchd(void *__unused)/* Set ioprio to lowest if supported by i/o scheduler */ sys_ioprio_set (IOPRIO_WHO_PROCESS ,0 ,IOPRIO_CLASS_IDLE ); +/* kprefetchd has nothing to do until it is woken up the first time */ +set_current_state (TASK_INTERRUPTIBLE ); +schedule (); + do { try_to_freeze();
Signature · 7 lines
-ck -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
Andrew Morton
maintainerQuoted 19 lines · On Wed, 7 Mar 2007 18:14:04 +1100 Con Kolivas <[email protected]> wrote:
I've been unable for 4 months to find someone to test this Andrew. I'm going to assume it fixes the problem on numa=64 (or something like that) so please apply it.
---
Avoid enteringtrickle_swap()when first initialising kprefetchd to prevent endless loops.Signed-off-by Con Kolivas <[email protected]>--- mm/swap_prefetch.c | 4 ++++ 1 file changed, 4 insertions(+)Index:
linux-2.6.21-rc2-mm2/mm/swap_prefetch.c
===================================================================
mm/swap_prefetch.c static int kprefetchd(void *__unused) · line 524
Quoted 10 lines
mm/swap_prefetch.c +4
-0@@ -515,6 +515,10 @@ static int kprefetchd(void *__unused)/* Set ioprio to lowest if supported by i/o scheduler */ sys_ioprio_set (IOPRIO_WHO_PROCESS ,0 ,IOPRIO_CLASS_IDLE ); +/* kprefetchd has nothing to do until it is woken up the first time */ +set_current_state (TASK_INTERRUPTIBLE ); +schedule (); + do { try_to_freeze();
hm, yes, strange.
You can do poor-man's NUMA by setting CONFIG_NUMA_EMU and booting with `numa=fake=16' Requires x86_64 and perhaps the fake-numa fixes in -mm.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>