summaryrefslogtreecommitdiffstats
path: root/include/net/inet_frag.h
diff options
context:
space:
mode:
authorJesper Dangaard Brouer <brouer@redhat.com>2013-03-27 06:55:25 +0100
committerDavid S. Miller <davem@davemloft.net>2013-03-27 17:48:33 +0100
commit68399ac37e571c2d695ea3b08aa82235874b5158 (patch)
tree03e6d64768df3178e8bb4ef897e5d8c6ca1cb24c /include/net/inet_frag.h
parentppp: reuse print_hex_dump_bytes (diff)
downloadlinux-68399ac37e571c2d695ea3b08aa82235874b5158.tar.xz
linux-68399ac37e571c2d695ea3b08aa82235874b5158.zip
net: frag, avoid several CPUs grabbing same frag queue during LRU evictor loop
The LRU list is protected by its own lock, since commit 3ef0eb0db4 (net: frag, move LRU list maintenance outside of rwlock), and no-longer by a read_lock. This makes it possible, to remove the inet_frag_queue, which is about to be "evicted", from the LRU list head. This avoids the problem, of several CPUs grabbing the same frag queue. Note, cannot remove the inet_frag_lru_del() call in fq_unlink() called by inet_frag_kill(), because inet_frag_kill() is also used in other situations. Thus, we use list_del_init() to allow this double list_del to work. Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com> Acked-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/inet_frag.h')
0 files changed, 0 insertions, 0 deletions