2013-04-24 02:36:22

by Steven Rostedt

[permalink] [raw]
Subject: Re: [PREEMPT RT] SLUB and split softirq lock for v3.2-rt

On Wed, 2013-02-13 at 17:11 +0100, Sebastian Andrzej Siewior wrote:
> 3.2-rt is a long term supported kernel, which lacks two RT features
> from 3.6: SLUB support and the split softirq lock implementation.
>
> SLUB has a way better performance than SLAB on RT and the split
> softirq lock implementation is necessary especially for realtime
> networking applications.
>
> The following patch series backports these features to 3.2-rt.
>
> Steven, could you please apply these patches to a separate
> 3.2-rt-features branch?
>

Hi Sebastian,

Which version of 3.2-rt was this applied to. It does not apply, where
patch 7/16 totally does not apply. I looked at the history of 3.2-rt and
I can't find where it would apply.

Thanks,

-- Steve


Subject: Re: [PREEMPT RT] SLUB and split softirq lock for v3.2-rt

On 04/24/2013 04:36 AM, Steven Rostedt wrote:
> Hi Sebastian,

Hi Steven,

> Which version of 3.2-rt was this applied to. It does not apply, where
> patch 7/16 totally does not apply. I looked at the history of 3.2-rt and
> I can't find where it would apply.

I applied them on top of 2438ee33 ("Linux 3.2.37-rt55 REBASE"). I just
grabbed the patches from the mailing list and re-applied them on top of
this tree and is still works.

After doing the same thing on v3.2.43-rt63-rebase I got:

Applying: softirq: Make serving softirqs a task flag
Applying: softirq: Split handling function
Applying: softirq: Split softirq locks
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
Auto-merging include/linux/sched.h
Applying: rcu: rcutiny: Prevent RCU stall
Applying: softirq: Adapt NOHZ softirq pending check to new RT scheme
Applying: softirq: Add more debugging
Applying: softirq: Fix nohz pending issue for real
Applying: net: Use local_bh_disable in netif_rx_ni()
Applying: FIX [1/2] slub: Do not dereference NULL pointer in node_match
Applying: FIX [2/2] slub: Tid must be retrieved from the percpu area of
the current processor
Applying: slub: Use correct cpu_slab on dead cpu
Applying: smp: introduce a generic on_each_cpu_mask() function
Applying: smp: add func to IPI cpus based on parameter func
Applying: slub: only IPI CPUs that have per cpu obj to flush
Applying: mm: Enable SLUB for RT
Applying: slub: Enable irqs for __GFP_WAIT

git did not complain about patch 7 ("softirq: Fix nohz pending issue for
real") but about 3 ("softirq: Split softirq locks"). The diff between
the two queues (except different sha1, index and so) is:

--- old/0003-softirq-Split-softirq-locks.patch
+++ new/0003-softirq-Split-softirq-locks.patch
@@ -60,8 +60,8 @@
int softirq_nestcnt;
+ unsigned int softirqs_raised;
#endif
- #if defined CONFIG_PREEMPT_RT_FULL && defined CONFIG_HIGHMEM
- int kmap_idx;
+ #ifdef CONFIG_PREEMPT_RT_FULL
+ # if defined CONFIG_HIGHMEM || defined CONFIG_X86_32


and this looks good.

> Thanks,
>
> -- Steve

Sebastian

2013-04-24 15:45:36

by Steven Rostedt

[permalink] [raw]
Subject: Re: [PREEMPT RT] SLUB and split softirq lock for v3.2-rt

On Wed, 2013-04-24 at 10:11 +0200, Sebastian Andrzej Siewior wrote:
> On 04/24/2013 04:36 AM, Steven Rostedt wrote:
> > Hi Sebastian,
>
> Hi Steven,
>
> > Which version of 3.2-rt was this applied to. It does not apply, where
> > patch 7/16 totally does not apply. I looked at the history of 3.2-rt and
> > I can't find where it would apply.
>
> I applied them on top of 2438ee33 ("Linux 3.2.37-rt55 REBASE"). I just
> grabbed the patches from the mailing list and re-applied them on top of
> this tree and is still works.
>

Nevermind, the problem was at my end :-( I saved the patches as a mbox,
but evolution decided to move patch 5 to after patch 7, which broke
everything :-p

-- Steve