Comments

From: Eric Dumazet <dada1@cosmosbay.com>
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 <dada1@cosmosbay.com>
This looks great, applied, thanks Eric.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

David Miller a écrit :
> From: Eric Dumazet <dada1@cosmosbay.com>> 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 <dada1@cosmosbay.com>> > 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
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

On Fri, Nov 14, 2008 at 10:04:24AM +0100, Eric Dumazet wrote:
> David Miller a écrit :>> From: Eric Dumazet <dada1@cosmosbay.com>>> 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 <dada1@cosmosbay.com>>>>> 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)
Ick.
> 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
Make it last member?
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html