Re: [PATCH] mm: list_lru: fix almost infinite loop causing effective livelock

2013-10-30 Thread Dave Chinner
On Wed, Oct 30, 2013 at 12:49:05PM -0700, Linus Torvalds wrote: > On Wed, Oct 30, 2013 at 7:16 AM, Russell King - ARM Linux > wrote: > > > > So, if *nr_to_walk was zero when this function was entered, that means > > we're wanting to operate on (~0UL)+1 objects - which might as well be > > infinite

Re: [PATCH] mm: list_lru: fix almost infinite loop causing effective livelock

2013-10-30 Thread Russell King - ARM Linux
On Wed, Oct 30, 2013 at 12:49:05PM -0700, Linus Torvalds wrote: > On Wed, Oct 30, 2013 at 7:16 AM, Russell King - ARM Linux > wrote: > > > > So, if *nr_to_walk was zero when this function was entered, that means > > we're wanting to operate on (~0UL)+1 objects - which might as well be > > infinite

Re: [PATCH] mm: list_lru: fix almost infinite loop causing effective livelock

2013-10-30 Thread Linus Torvalds
On Wed, Oct 30, 2013 at 7:16 AM, Russell King - ARM Linux wrote: > > So, if *nr_to_walk was zero when this function was entered, that means > we're wanting to operate on (~0UL)+1 objects - which might as well be > infinite. > > Clearly this is not correct behaviour. If we think about the behaviou

[PATCH] mm: list_lru: fix almost infinite loop causing effective livelock

2013-10-30 Thread Russell King - ARM Linux
From: Russell King I've seen a fair number of issues with kswapd and other processes appearing to get stuck in v3.12-rc. Using sysrq-p many times seems to indicate that it gets stuck somewhere in list_lru_walk_node(), called from prune_icache_sb() and super_cache_scan(). I never seem to be able