dst: call cond_resched() in dst_gc_task()
commitb49b8e39e9c06a4d07c215de211279a91c42abc7
authorEric Dumazet <eric.dumazet@gmail.com>
Mon, 8 Feb 2010 23:00:39 +0000 (8 15:00 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 23 Feb 2010 15:37:55 +0000 (23 07:37 -0800)
tree5f6a2ad93d1fb7d1162e25e9b8bff9b93d541b2c
parent1393ad25685ec7f91137160dc482e7bb00cb27d2
dst: call cond_resched() in dst_gc_task()

commit 2fc1b5dd99f66d93ffc23fd8df82d384c1a354c8 upstream.

Kernel bugzilla #15239

On some workloads, it is quite possible to get a huge dst list to
process in dst_gc_task(), and trigger soft lockup detection.

Fix is to call cond_resched(), as we run in process context.

Reported-by: Pawel Staszewski <pstaszewski@itcare.pl>
Tested-by: Pawel Staszewski <pstaszewski@itcare.pl>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
net/core/dst.c