Files
erofs-linux/kernel
Eric Dumazet cd7175edf9 [PATCH] Optimize calc_load()
calc_load() is called by timer interrupt to update avenrun[].  It currently
calls nr_active() at each timer tick (HZ per second), while the update of
avenrun[] is done only once every 5 seconds.  (LOAD_FREQ=5 Hz)

nr_active() is quite expensive on SMP machines, since it has to sum up
nr_running and nr_uninterruptible of all online CPUS, bringing foreign
dirty cache lines.

This patch is an optimization of calc_load() so that nr_active() is called
only if we need it.

The use of unlikely() is welcome since the condition is true only once every
5*HZ time.

Signed-off-by: Eric Dumazet <[email protected]>
Cc: Ingo Molnar <[email protected]>
Acked-by: "Siddha, Suresh B" <[email protected]>
Cc: Nick Piggin <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2006-12-13 09:05:55 -08:00
..
2006-12-10 09:57:22 -08:00
…
2006-12-08 08:28:46 -08:00
2006-12-07 08:39:25 -08:00
…
…
…
2006-12-07 08:39:36 -08:00
…
…
2006-12-04 02:00:22 -05:00
…
…
…
…
…
…
…
…
…
…
2006-12-13 09:05:55 -08:00
2006-12-10 09:55:41 -08:00
…
2006-12-07 08:39:25 -08:00
…
…