Re: [PATCH RT] net: move xmit_recursion to per-task variable on -RT
From: Hannes Frederic Sowa
Date: Thu Jan 14 2016 - 17:02:19 EST
On 14.01.2016 15:50, Sebastian Andrzej Siewior wrote:
* Thomas Gleixner | 2016-01-13 18:31:46 [+0100]:
On Wed, 13 Jan 2016, Sebastian Andrzej Siewior wrote:
+#ifdef CONFIG_PREEMPT_RT_FULL
+static inline int dev_recursion_level(void)
+{
+ return atomic_read(¤t->xmit_recursion);
Why would you need an atomic here. current does hardly race against itself.
right.
We are just adding a second recursion limit solely to openvswitch which
has the same problem:
https://patchwork.ozlabs.org/patch/566769/
This time also we depend on rcu_read_lock marking the section being
nonpreemptible. Nice would be a more generic solution here which doesn't
need to always add something to *current.
Thanks,
Hannes