On Fri, 2013-06-07 at 14:30 +0100, David Laight wrote: > Looks like the ptype_base[] should be per 'dev'? > Or just put entries where ptype->dev != null_or_dev on a per-interface > list and do two searches?
Yes, but then we would have two searches instead of one in fast path. ptype_base[] is currently 16 slots, 256 bytes on x86_64. Presumably the per device list could be a single list, instead of a hash table, but still... If the application creating hundred or thousand of AF_PACKET sockets is a single process, I really question why using a single AF_PACKET was not chosen. We now have a FANOUT capability on AF_PACKET, so that its scalable to million of packets per second. I would rather try this way before adding yet another section in __netif_receive_skb() -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/