update_defense_level() is calling si_meminfo() from timer context. But si_meminfo takes non-irq-safe locks. Move it all to keventd context. Signed-off-by: Andrew Morton <akpm@xxxxxxxx> -- 25-akpm/net
Would I be right in thinking that the offending lock is bdev_lock which is grabbed in nr_blockdev_pages() and thus that this is not an issue for 2.4 whose si_meminfo() does not have such a call? -- H