From: Thomas Gleixner <tglx@linutronix.de>
To: Sven Dietrich <sdietrich@mvista.com>
Cc: dwalker@mvista.com, Andrew Morton <akpm@osdl.org>,
amakarov@ru.mvista.com, Ingo Molnar <mingo@elte.hu>,
ext-rt-dev@mvista.com, LKML <linux-kernel@vger.kernel.org>
Subject: RE: [Ext-rt-dev] Re: [ANNOUNCE] Linux 2.6 Real Time Kernel
Date: Tue, 12 Oct 2004 22:37:00 +0200 [thread overview]
Message-ID: <1097613420.19549.105.camel@thomas> (raw)
In-Reply-To: <EOEGJOIIAIGENMKBPIAEIEJEDKAA.sdietrich@mvista.com>
On Tue, 2004-10-12 at 22:31, Sven Dietrich wrote:
> > >
> > > I think patch size is an issue, but I also think that , eventually, we
> > > should change all spin_lock calls that actually lock a mutex to be more
> > > distinct so it's obvious what is going on. Sven and I both agree that
> > > this should be addressed. Is this a non-issue for you? What does the
> > > community want? I don't find your code or ours acceptable in it's
> > > current form , due to this issue.
> > >
> > > With the addition of PREEMPT_REALTIME it looks like you more than
> > > doubled the size of voluntary preempt. I really feel that it should
> > > remain as two distinct patches. They are dependent , but the scope of
> > > the changes are too vast to lump it all together.
> > >
> >
> >
> > If there is the tendency to touch the concurrency controls in general
> > all over the kernel, then I would suggest a script driven overhaul of
> > all concurrency controls like spin_locks, mutexes and semaphores to
> > general macros like
> >
> > enter_critical_section(TYPE, &var, &flags, whatever);
> > leave_critical_section(TYPE, &var, flags, whatever);
> >
> > where TYPE might be SPIN_LOCK, SPIN_LOCK_IRQ, MUTEX, PMUTEX or whatever
> > we have and come up with in the future.
> >
> > This could be done in a first step and then it is clearly identifiable
> > and it gives us more flexibility to wrap different implementations and
> > lets us change particular points in a more clear way.
> >
> > I would be willing to provide some scripted conversion aid, if there is
> > enough interest to that. I started with some test files and the results
> > are quite encouraging.
> >
> Ideally we would eventually provide some level of tunability, i.e.
> if you want the spinlocks all the way around it should be possible
> to have that, or one could enable degrees of enhancements,
> expanding on the existing sequence starting with PREEMPT, IRQ_THREADS,
> BKL, MUTEX, etc. In addition to that, once the minim set of spinlocks
> necessary for RT is established, additional layers, corresponding to
> the lock nesting order, could be established, making the "mutex-depth"
> somewhat configurable based on the performance requirements.
>
> The entire effort would have the side effect of making the locking and
> critical sections more distinct, and reveal soft spots in concurrency
> code, as well as to raise awareness of the code density inside
> critical sections.
>
> The concept of tunable foreground / background responsiveness,
> based on preemptability of low priority processes comes to mind.
> A lot of folks would probably not mind making UI responsiveness
> a little crisper, others will want the throughput.
Yup, and having a unique identifiable thing for all that stuff in the
code would make life easier for coders and for people who want to
experiment and change things.
> I realize this is an early stage to be looking at it so high end,
> but I think in general this type of script would not be a bad addition
> to the patch kit(s).
Ok, will try to make it work on more than two files and two patterns.
Any preferences on scripting language ?
tglx
next prev parent reply other threads:[~2004-10-12 20:48 UTC|newest]
Thread overview: 92+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-10-09 5:59 [ANNOUNCE] Linux 2.6 Real Time Kernel Sven-Thorsten Dietrich
2004-10-09 6:40 ` Lee Revell
2004-10-09 7:33 ` Daniel Walker
2004-10-09 7:42 ` Lee Revell
2004-10-09 23:40 ` Matthias Urlichs
2004-10-09 8:52 ` Lee Revell
2004-10-09 23:20 ` Dave Hansen
2004-10-09 23:24 ` Lee Revell
2004-10-09 10:51 ` Måns Rullgård
2004-10-09 13:15 ` Måns Rullgård
2004-10-09 21:20 ` Lee Revell
2004-10-09 21:35 ` Måns Rullgård
2004-10-09 21:37 ` Lee Revell
2004-10-09 21:45 ` Måns Rullgård
2004-10-09 21:55 ` Lee Revell
2004-10-09 22:21 ` Måns Rullgård
2004-10-09 23:52 ` Lee Revell
2004-10-10 0:05 ` Måns Rullgård
2004-10-10 0:45 ` Lee Revell
2004-10-10 1:05 ` Måns Rullgård
2004-10-10 1:09 ` Lee Revell
2004-10-10 0:43 ` Micha Feigin
2004-10-10 1:08 ` Måns Rullgård
2004-10-09 17:41 ` Karim Yaghmour
2004-10-09 18:30 ` Lee Revell
2004-10-09 21:26 ` stefan.eletzhofer
2004-10-09 19:30 ` Lee Revell
2004-10-09 19:38 ` Måns Rullgård
2004-10-09 21:38 ` stefan.eletzhofer
2004-10-09 19:47 ` Lee Revell
2004-10-09 20:11 ` Karim Yaghmour
2004-10-09 20:14 ` Lee Revell
2004-10-09 20:53 ` Karim Yaghmour
2004-10-09 20:59 ` Lee Revell
2004-10-09 20:20 ` Robert Love
2004-10-09 20:25 ` Lee Revell
2004-10-10 1:15 ` Lee Revell
2004-10-10 8:46 ` Ingo Molnar
2004-10-10 19:41 ` Daniel Walker
2004-10-10 19:46 ` Ingo Molnar
2004-10-10 21:20 ` Andrew Morton
2004-10-10 21:59 ` Ingo Molnar
2004-10-11 17:53 ` Daniel Walker
2004-10-11 20:49 ` Ingo Molnar
2004-10-11 21:44 ` Sven Dietrich
2004-10-11 21:54 ` Ingo Molnar
2004-10-11 23:05 ` Sven Dietrich
2004-10-12 5:50 ` Ingo Molnar
2004-10-14 5:09 ` Dipankar Sarma
2004-10-14 7:18 ` Ingo Molnar
2004-10-15 14:59 ` Paul E. McKenney
2004-10-15 15:45 ` Ingo Molnar
2004-10-15 16:40 ` Paul E. McKenney
2004-10-15 16:45 ` Paul E. McKenney
2004-10-17 17:12 ` Ingo Molnar
2004-10-12 18:50 ` Daniel Walker
2004-10-12 19:46 ` [Ext-rt-dev] " Thomas Gleixner
2004-10-12 20:31 ` Sven Dietrich
2004-10-12 20:37 ` Thomas Gleixner [this message]
2004-10-13 0:30 ` George Anzinger
2004-10-12 21:12 ` Bill Huey
2004-10-12 21:24 ` Bill Huey
2004-10-12 21:32 ` Thomas Gleixner
2004-10-12 23:13 ` Bill Huey
2004-10-12 21:41 ` Sven Dietrich
2004-10-12 22:57 ` Bill Huey
2004-10-12 23:17 ` Adam Heath
2004-10-12 23:36 ` Lee Revell
2004-10-12 23:25 ` Thomas Gleixner
2004-10-13 2:02 ` K.R. Foley
2004-10-13 13:39 ` Martijn Sipkema
2004-10-13 13:26 ` La Monte H.P. Yarroll
2004-10-13 15:04 ` Martijn Sipkema
2004-10-13 14:55 ` Kurt Wall
2004-10-13 14:52 ` Christoph Hellwig
2004-10-13 15:56 ` Lee Revell
2004-10-13 16:13 ` Robert Love
2004-10-13 17:14 ` Martijn Sipkema
2004-10-13 3:55 ` Bill Huey
2004-10-12 22:00 ` Thomas Gleixner
2004-10-12 22:36 ` Bill Huey
2004-10-12 23:10 ` Thomas Gleixner
2004-10-12 23:33 ` Bill Huey
2004-10-12 23:37 ` Thomas Gleixner
2004-10-12 23:52 ` Bill Huey
2004-10-13 0:59 ` Valdis.Kletnieks
2004-10-10 12:21 ` John Richard Moser
2004-10-10 17:26 ` Lee Revell
2004-10-10 18:45 ` John Richard Moser
2004-10-10 20:20 ` Ingo Molnar
2004-10-10 20:44 ` John Richard Moser
2004-10-10 17:29 ` Daniel Walker
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1097613420.19549.105.camel@thomas \
--to=tglx@linutronix.de \
--cc=akpm@osdl.org \
--cc=amakarov@ru.mvista.com \
--cc=dwalker@mvista.com \
--cc=ext-rt-dev@mvista.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=sdietrich@mvista.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox