* Weird schedule delay time for cache_reap()
@ 2005-10-27 2:28 Chen, Kenneth W
2005-10-27 8:37 ` Andi Kleen
0 siblings, 1 reply; 2+ messages in thread
From: Chen, Kenneth W @ 2005-10-27 2:28 UTC (permalink / raw)
To: linux-mm, linux-kernel
I can't convince myself that the 2nd argument in schedule_delayed_work
called from cache_reap() function make any sense:
static void cache_reap(void *unused)
{ ...
check_irq_on();
up(&cache_chain_sem);
drain_remote_pages();
/* Setup the next iteration */
schedule_delayed_work(&__get_cpu_var(reap_work), REAPTIMEOUT_CPUC + smp_processor_id());
}
Suppose one have a lucky 1024-processor big iron numa box,
cpu0 will do cache_reap every 2 sec (REAPTIMEOUT_CPUC = 2*HZ).
cpu512 will do cache_reap every 4 sec,
cpu1023 will do cache_reap every 6 sec.
Is the skew intentional on different CPU? Why different interval for
different cpu#?
- Ken
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Weird schedule delay time for cache_reap()
2005-10-27 2:28 Weird schedule delay time for cache_reap() Chen, Kenneth W
@ 2005-10-27 8:37 ` Andi Kleen
0 siblings, 0 replies; 2+ messages in thread
From: Andi Kleen @ 2005-10-27 8:37 UTC (permalink / raw)
To: Chen, Kenneth W; +Cc: linux-mm, linux-kernel, manfred
On Thursday 27 October 2005 04:28, Chen, Kenneth W wrote:
> can't convince myself that the 2nd argument in schedule_delayed_work
>called from cache_reap() function make any sense:
>static void cache_reap(void *unused)
>{ ...
>schedule_delayed_work(&__get_cpu_var(reap_work), REAPTIMEOUT_CPUC +
smp_processor_id());
>
> Suppose one have a lucky 1024-processor big iron numa box,
> cpu0 will do cache_reap every 2 sec (REAPTIMEOUT_CPUC = 2*HZ).
> cpu512 will do cache_reap every 4 sec,
> cpu1023 will do cache_reap every 6 sec.
>
> Is the skew intentional on different CPU? Why different interval for
> different cpu#?
It looks like a buggy attempt to make the timers not cluster.
The +smp_processor_id() should be probably only done on the first iteration.
start_cpu_timer() does this already, so removing it should be ok.
-Andi
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2005-10-27 8:37 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-10-27 2:28 Weird schedule delay time for cache_reap() Chen, Kenneth W
2005-10-27 8:37 ` Andi Kleen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox