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 PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 03 Aug 2020 18:21:45 -0700 (PDT) From: David Miller <davem@...emloft.net> To: olteanv@...il.com Cc: kuba@...nel.org, netdev@...r.kernel.org, claudiu.manoil@....com, ioana.ciornei@....com, Jiafei.Pan@....com, yangbo.lu@....com, linux-kernel@...r.kernel.org, linux-rt-users@...r.kernel.org Subject: Re: [PATCH net-next 2/2] enetc: use napi_schedule to be compatible with PREEMPT_RT From: Vladimir Oltean <olteanv@...il.com> Date: Mon, 3 Aug 2020 23:10:09 +0300 > From: Jiafei Pan <Jiafei.Pan@....com> > > The driver calls napi_schedule_irqoff() from a context where, in RT, > hardirqs are not disabled, since the IRQ handler is force-threaded. > > In the call path of this function, __raise_softirq_irqoff() is modifying > its per-CPU mask of pending softirqs that must be processed, using > or_softirq_pending(). The or_softirq_pending() function is not atomic, > but since interrupts are supposed to be disabled, nobody should be > preempting it, and the operation should be safe. > > Nonetheless, when running with hardirqs on, as in the PREEMPT_RT case, > it isn't safe, and the pending softirqs mask can get corrupted, > resulting in softirqs being lost and never processed. > > To have common code that works with PREEMPT_RT and with mainline Linux, > we can use plain napi_schedule() instead. The difference is that > napi_schedule() (via __napi_schedule) also calls local_irq_save, which > disables hardirqs if they aren't already. But, since they already are > disabled in non-RT, this means that in practice we don't see any > measurable difference in throughput or latency with this patch. > > Signed-off-by: Jiafei Pan <Jiafei.Pan@....com> > Signed-off-by: Vladimir Oltean <vladimir.oltean@....com> Applied.
Powered by blists - more mailing lists