On Mon, 17 Oct 2011 11:03:54 +0300
Daniel Baluta [off-list ref] wrote:
quoted
This assumes device ifindexes are contained in a small range
[N .. N + X]
I understand this can help some benchmarks, but in real world this wont
help that much once ifindexes are 'fragmented' (If really this multi
thousand devices stuff is for real)
Listen, we currently have 256 slots in the hash table.
Can we try to make 'offset' something like (slot_number<<24) +
(position in hash chain [slot_number]), instead of (position in devices
global list)
Eric, we can refine the idea of our first patch [1], where we recorded
the (bucket, offset) pair. Stephen, do you agree with this?
thanks,
Daniel.
[1] http://patchwork.ozlabs.org/patch/118331/
Using buckets is fine, my idea about ifindex was just to try and
preserve the order, but it doesn't matter.