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
| ||
|
Message-Id: <20070726.001516.48528000.davem@davemloft.net> Date: Thu, 26 Jul 2007 00:15:16 -0700 (PDT) From: David Miller <davem@...emloft.net> To: mchan@...adcom.com Cc: netdev@...r.kernel.org, shemminger@...ux-foundation.org, jgarzik@...ox.com, hadi@...erus.ca, rusty@...tcorp.com.au Subject: Re: [PATCH RFC]: napi_struct V4 From: "Michael Chan" <mchan@...adcom.com> Date: Thu, 26 Jul 2007 00:05:47 -0700 > David Miller wrote: > > > So that ->poll_controller() can process TX acks by just having > > the TX lock and interrupts disabled. > > > > Can you think of another way to process TX acks from absolutely > > any execution context whatsoever? That's what we need and > > preferably in some generic way, and the above is what I came > > up with. > > What are we trying to protect against by taking the TX lock before > calling ->poll_controller()? The netpoll code has to take that anyways in order to call into ->hard_start_xmit() to send out the packet it has pending, I'm leveraging that as a synchronization mechanism in the drivers because the locking options are limited given that netpoll can try to do this in any context whatsoever. > There is a measurable difference in oprofile. When passing small > packets, there's a non-trivial difference in throughput. Then please help come up with an alternate scheme, because these NAPI changes fix real limitations and bugs in the current code and unless we fix netpoll too we can't move forward. Thanks. - 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