l2: fix latency issue casued by unnecesary read of previous cacheline
In majority of cases ethernet header sits at the beggining of cacheline. Reading (dst_mac - 2) into 64 bit register is much more expensive than doing simple bitwise shift, specially if previous cacheline is not prefetched. Change-Id: I35e53eae735098fb917a87c307e60a87e76e460f Signed-off-by: Damjan Marion <damarion@cisco.com>
This commit is contained in:

committed by
Neale Ranns

parent
23a7412bda
commit
30230dd7f8
@ -105,7 +105,7 @@ l2fib_make_key (u8 * mac_address, u16 bd_index)
|
||||
* Create the in-register key as F:E:D:C:B:A:H:L
|
||||
* In memory the key is L:H:A:B:C:D:E:F
|
||||
*/
|
||||
temp = *((u64 *) (mac_address - 2));
|
||||
temp = *((u64 *) (mac_address)) << 16;
|
||||
temp = (temp & ~0xffff) | (u64) (bd_index);
|
||||
#else
|
||||
/*
|
||||
|
Reference in New Issue
Block a user