Well, if this item is injected to the same chain, next wont be set to NULL.
That would mean previous writers deleted all items from the chain.
In this case, readers can see NULL, it is not a problem at all.
List is/was empty.
An application cannot complain a packet is not
handled if its bind() syscall is not yet completed :)
If item is injected on another chain, we will detect hash mismatch and redo full scan.
Probably not. Previously, readers were spining on read_lock(), when
a writer was inside its critical section (write_lock()/write_unlock()).
So instead of spining inside read_unlock(), issuing stupid memory
transactions, the readers can now spin reading hash chain and populate
cpu cache :)
--
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