[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20130328.151910.540325879819648208.davem@davemloft.net>
Date: Thu, 28 Mar 2013 15:19:10 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: hannes@...essinduktion.org
Cc: eric.dumazet@...il.com, brouer@...hat.com, netdev@...r.kernel.org,
fw@...len.de, dborkman@...hat.com
Subject: Re: [net-next PATCH 3/3] net: frag queue per hash bucket locking
From: Hannes Frederic Sowa <hannes@...essinduktion.org>
Date: Thu, 28 Mar 2013 20:10:50 +0100
> On Thu, Mar 28, 2013 at 03:03:59PM -0400, David Miller wrote:
>> From: Hannes Frederic Sowa <hannes@...essinduktion.org>
>> Date: Thu, 28 Mar 2013 19:57:21 +0100
>>
>> > On Wed, Mar 27, 2013 at 10:25:59AM -0700, Eric Dumazet wrote:
>> >> On Wed, 2013-03-27 at 16:56 +0100, Jesper Dangaard Brouer wrote:
>> >> > This patch implements per hash bucket locking for the frag queue
>> >> > hash. This removes two write locks, and the only remaining write
>> >> > lock is for protecting hash rebuild. This essentially reduce the
>> >> > readers-writer lock to a rebuild lock.
>> ...
>> >> I am not sure why you added _bh suffix to spin_lock()/spin_unlock()
>> >> here ?
>> >
>> > I assume that it has to do with the usage of this code in
>> > ipv6/netfilter/nf_conntrack_reasm.c, which could be invoked from process
>> > context, if I read it correctly.
>>
>> That appears to be the case yes.
>>
>> That's an odd environment for these routines to be invoked from,
>> so longer term we should probably make the nf conntrack code do
>> the BH disabling around the inet frag calls, rather than make the
>> inet frag code eat the extra overhead for the more common invocations.
>
> My idea was a bh-safe flag in struct inet_frags and conditionally use
> spin_lock and spin_unlock_bh (these could be wrapped in inline functions just
> for inet_fragment.c).
That's an extra check eaten by all users. Really, put the overhead into
the call sites that need it, and nowhere else.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists