Re: [PATCH v2 net-next 08/12] inet: frags: use rhashtables for reassembly units
From: Eric Dumazet <hidden>
Date: 2018-03-30 22:54:50
From: Eric Dumazet <hidden>
Date: 2018-03-30 22:54:50
On 03/30/2018 03:44 PM, Kirill Tkhai wrote:
Hi, Eric, thanks for more small patches in v2. One comment below.
quoted
- -struct inet_frag_bucket { - struct hlist_head chain; - spinlock_t chain_lock; + struct netns_frags *net; + struct rcu_head rcu;inet_frag_destroy() calls call_rcu() after frags are destroyed. It looks like we may place this rcu in union with fragments and fragments_tail and to sa
No, because I am planning to free skbs in the rcu call back very shortly. As I mentioned, I believe we could use pure RCU lookups, without grabing a reference and then release it after packet is processed/added to the queue. This is not urgent, I wanted to get the first patches for review before doing this final step, as I do not expect more than 5 % improvement from this optimization. Also note that the ipq structure is 192 bytes, nicely using 3 cache lines. Trying to save 16 bytes will likely reduce performance, unless we force padding to reach 192 bytes again :)