lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sun, 03 Mar 2013 10:35:04 -0800 From: Eric Dumazet <eric.dumazet@...il.com> To: Eliezer Tamir <eliezer.tamir@...ux.jf.intel.com> Cc: linux-kernel@...r.kernel.org, netdev@...r.kernel.org, Dave Miller <davem@...emloft.net>, Jesse Brandeburg <jesse.brandeburg@...el.com>, e1000-devel@...ts.sourceforge.net, Willem de Bruijn <willemb@...gle.com>, Andi Kleen <andi@...stfloor.org>, HPA <hpa@...or.com>, Eliezer Tamir <eliezer@...ir.org.il> Subject: Re: [RFC PATCH 1/5] net: implement support for low latency socket polling On Wed, 2013-02-27 at 09:55 -0800, Eliezer Tamir wrote: > index 821c7f4..d1d1016 100644 > --- a/include/linux/skbuff.h > +++ b/include/linux/skbuff.h > @@ -408,6 +408,10 @@ struct sk_buff { > struct sock *sk; > struct net_device *dev; > > +#ifdef CONFIG_INET_LL_RX_POLL > + struct napi_struct *dev_ref; /* where this skb came from */ > +#endif > + > /* > * This is the control buffer. It is free to use for every > * layer. Please put your private variables there. If you Yes, thats the killer, because : 1) It adds 8 bytes per skb, and we are going to reach the 256 bytes per sk_buff boundary. cloned skbs will use an extra cache line. It might make sense to union this on dma_cookie, as dma_cookie is only used on TX path. 2) We need to reference count napi structs. For 2) , we would need to add a percpu ref counter (a bit like struct netdevice -> pcpu_refcnt) Alternative to 2) would be to use a generation id, incremented every time a napi used in spin polling enabled driver is dismantled (and freed after RCU grace period) And store in sockets not only the pointer to napi_struct, but the current generation id : If the generation id doesnt match, disable the spinpoll until next packet rebuilds the cache again. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists