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: Wed, 11 Nov 2015 14:19:56 -0500 (EST) From: David Miller <davem@...emloft.net> To: mans@...sr.com Cc: romieu@...zoreil.com, linux-kernel@...r.kernel.org, netdev@...r.kernel.org, slash.tmp@...e.fr Subject: Re: [PATCH v5] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller From: Måns Rullgård <mans@...sr.com> Date: Wed, 11 Nov 2015 19:17:07 +0000 > David Miller <davem@...emloft.net> writes: > >> From: Måns Rullgård <mans@...sr.com> >> Date: Wed, 11 Nov 2015 19:09:19 +0000 >> >>> David Miller <davem@...emloft.net> writes: >>> >>>> From: Måns Rullgård <mans@...sr.com> >>>> Date: Wed, 11 Nov 2015 18:25:05 +0000 >>>> >>>>> If the TX DMA channel is idle when start_xmit is called, it can be >>>>> started immediately. Checking the DMA status and starting it if >>>>> idle has to be done atomically somehow. >>>> >>>> ->ndo_start_xmit() is guaranteed to be invoked atomically, protected >>>> by the TX queue spinlock. >>> >>> Yes, but the DMA needs to be restarted from some other context if it was >>> busy when start_xmit checked. >> >> Then you can probably use the TXQ lock in the interrupt handler just for >> that. > > That seems a bit heavy-handed when the critical section for this is only > a tiny part of the start_xmit function. Then what synchornization primitive other than spin locks are you going to use for this? My point is that there is a spinlock the core code is _already_ taking, unconditionally, when ->ndo_start_xmit() executes. And you can therefore take advantage of that rather than using another lock of your own. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists