On 08.11.2012 00:24, Alexander V. Chernikov wrote:
Hello list!

Currently we need to acquire 2 read locks to perform simple 6-byte copying from 
arp record to packet
ethernet header.

It seems that acquiring lle lock for fast path (main traffic flow) is not 
necessary even with
current code.

My tests shows ~10% improvement with this patch applied.

If nobody objects I plan to commit this change at the end of next week.

This is risky and prone to race conditions.  The copy of the MAC address
should be done while the table read lock is held to protect against the
entry going away.  You can either return with table lock held and drop
it after the copy, or you could a modified lookup function that takes a
pointer for the copy destination, do the copy with the read lock, and then
return.  If no entry is found an error is returned and obviously no copy
is done.

--
Andre

_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"

Reply via email to