Subject: Re: [PATCH] net: speedup dst_release()

From: Eric Dumazet <[email-masked]>
Date: Fri, 14 Nov 2008 10:04:24 +0100

David Miller a écrit :
> From: Eric Dumazet <[email-masked]>
> Date: Fri, 14 Nov 2008 09:09:31 +0100
> 
>> During tbench/oprofile sessions, I found that dst_release() was in third position.
>  ...
>> Instead of first checking the refcount value, then decrement it,
>> we use atomic_dec_return() to help CPU to make the right memory transaction
>> (ie getting the cache line in exclusive mode)
>  ...
>> Signed-off-by: Eric Dumazet <[email-masked]>
> 
> This looks great, applied, thanks Eric.
> 

Thanks David

I think I understood some regressions here on 32bits 

offsetof(struct dst_entry, __refcnt) is 0x7c again !!!

This is really really bad for performance

I believe this comes from a patch from Alexey Dobriyan
(commit def8b4faff5ca349beafbbfeb2c51f3602a6ef3a
net: reduce structures when XFRM=n)

This kills effort from Zhang Yanmin (and me...)

(commit f1dd9c379cac7d5a76259e7dffcd5f8edc697d17
[NET]: Fix tbench regression in 2.6.25-rc1)

Really we must find something so that this damned __refcnt is starting at 0x80