Re: [PATCH] mm/list_lru.c: use cond_resched_lock() for nlru->lock

2017-06-19 Thread Sahitya Tummala
Hello, On 6/17/2017 4:44 PM, Vladimir Davydov wrote: That said, I think it would be better to patch shrink_dcache_sb() or dentry_lru_isolate_shrink() instead of list_lru_walk() in order to fix this lockup. Thanks for the review. I will enhance the patch as per your suggestion. -- Qualcomm I

Re: [PATCH] mm/list_lru.c: use cond_resched_lock() for nlru->lock

2017-06-17 Thread Vladimir Davydov
Hello, On Thu, Jun 15, 2017 at 02:05:23PM -0700, Andrew Morton wrote: > On Mon, 12 Jun 2017 06:17:20 +0530 Sahitya Tummala > wrote: > > > __list_lru_walk_one() can hold the spin lock for longer duration > > if there are more number of entries to be isolated. > > > > This results in "BUG: spinl

Re: [PATCH] mm/list_lru.c: use cond_resched_lock() for nlru->lock

2017-06-16 Thread Sahitya Tummala
On 6/16/2017 2:35 AM, Andrew Morton wrote: diff --git a/mm/list_lru.c b/mm/list_lru.c index 5d8dffd..1af0709 100644 --- a/mm/list_lru.c +++ b/mm/list_lru.c @@ -249,6 +249,8 @@ restart: default: BUG(); } + if (cond_resched_loc

Re: [PATCH] mm/list_lru.c: use cond_resched_lock() for nlru->lock

2017-06-15 Thread Andrew Morton
On Mon, 12 Jun 2017 06:17:20 +0530 Sahitya Tummala wrote: > __list_lru_walk_one() can hold the spin lock for longer duration > if there are more number of entries to be isolated. > > This results in "BUG: spinlock lockup suspected" in the below path - > > [] spin_bug+0x90 > [] do_raw_spin_lock

Re: [PATCH] mm/list_lru.c: use cond_resched_lock() for nlru->lock

2017-06-12 Thread Jan Kara
On Mon 12-06-17 06:17:20, Sahitya Tummala wrote: > __list_lru_walk_one() can hold the spin lock for longer duration > if there are more number of entries to be isolated. > > This results in "BUG: spinlock lockup suspected" in the below path - > > [] spin_bug+0x90 > [] do_raw_spin_lock+0xfc > [] _

[PATCH] mm/list_lru.c: use cond_resched_lock() for nlru->lock

2017-06-11 Thread Sahitya Tummala
__list_lru_walk_one() can hold the spin lock for longer duration if there are more number of entries to be isolated. This results in "BUG: spinlock lockup suspected" in the below path - [] spin_bug+0x90 [] do_raw_spin_lock+0xfc [] _raw_spin_lock+0x28 [] list_lru_add+0x28 [] dput+0x1c8 [] path_put