Re: [RFC] RT-patch update to remove the global pi_lock

Steven Rostedt
2005-08-25T20:10:47Z

On Thu, 2005-08-25 at 19:47 +0200, Ingo Molnar wrote:

> your patch works great here, on 3 separate systems: a 1-way, a 2/4-way
> and an 8-way.
>
> the 1-way system performed so well running the SMP kernel that i first
> thought i booted the UP kernel by accident :-)
>
> on the 8-way box, "hackbench 10" got _3.7_ times faster (!!!).
>
> i have booted the 8-way box without your patch once more because i didnt
> believe the results initially and thought they were some benchmarking
> fluke. But no, it wasnt a fluke. The kernel profiles are nicely flat
> now.
>
> i've released 2.6.13-rc7-rt2 with your patch included. This is certainly
> a major milestone for PREEMPT_RT, it is now a first-class scalability
> citizen on SMP too. Great work Steven!
>
> Ingo

A word of caution (aka. disclaimer). This is still new. I still expect
there are some cases in the code that was missed and can cause a dead
lock or other bad side effect. Hopefully, we can iron these all out.
Also, I noticed that since the task takes it's own pi_lock for most of
the code, if something locks up and a NMI goes off, the down_trylock in
printk will also lock when it tries to take it's own pi_lock.

I stated earlier, that I converted printk to use early_printk (serial)
on a oops_in_progress, so I wouldn't need to worry about the unlocking
circus that needs to be done. So, I'm sure if something goes wrong now,
you won't see anything, even with an NMI.

If someone else would like to fix that, I'm sure Ingo would be willing
to accept patches :-)

-- Steve