[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20080909.222330.172681301.davem@davemloft.net>
Date: Tue, 09 Sep 2008 22:23:30 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: timo.teras@....fi
Cc: herbert@...dor.apana.org.au, netdev@...r.kernel.org
Subject: Re: xfrm_state locking regression...
From: Timo Teräs <timo.teras@....fi>
Date: Wed, 10 Sep 2008 08:16:12 +0300
> David Miller wrote:
> > ipsec: Restore hash based xfrm_state dumping.
> >
> > Get rid of ->all member of struct xfrm_state, and just use a hash
> > iteration like we used before.
> >
> > This shrinks the size of struct xfrm_state, and also restores the
> > dump ordering of 2.6.25 and previous.
>
> I think bad things will happen if the hash gets resized between
> xfrm_state_walk() calls. Since it assumes that the walk->state
> entry has remained in walk->chain bucket.
>
> The dumping order shouldn't really make any difference. But
> reducing struct xfrm_state is definitely good. The only downside
> is that when an entry is inserted to the beginning of the hash
> while dump is ongoing, it won't be dumped at all. But that is
> not really a problem since you get a notification about that
> entry separately.
That's a good point, the hash resizing case.
If the hash grows, we'll see some entries again.
If it shrinks, we might skip some instead, which is very undesirable.
Actually, thinking about it some more, both possibilities (skipping
and dups) seem to be possible in both situations (growing and
shrinking).
Ehm... I think we should put this patch and idea aside for a little bit.
:-)
--
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