Thread (24 messages) 24 messages, 9 authors, 2007-07-26

Re: [Question] Hooks for scheduler tracing (CFS)

From: Ankita Garg <hidden>
Date: 2007-07-26 16:36:37
Also in: lkml

On Thu, Jul 26, 2007 at 12:22:31PM -0400, Frank Ch. Eigler wrote:
Hi -

On Thu, Jul 26, 2007 at 11:02:26AM -0400, Mathieu Desnoyers wrote:
quoted
[...]
quoted
quoted
The problem is also in _stp_print_flush, not *only* in relay code:
void _stp_print_flush (void)
...
                spin_lock(&_stp_print_lock);
                spin_unlock(&_stp_print_lock);

Those will turn into mutexes with -rt.
Indeed,
(Though actually that bug was fixed some time ago.)

quoted
quoted
plus systemtap-generated locking code uses rwlocks,
local_irq_save/restore or preempt_disable, in various places.  Could
someone point to a place that spells out what would be more
appropriate way of ensuring atomicity while being compatible with -rt?
AFAIK, for your needs either:
[...]
- Use per-cpu data with preempt disabling/irq disabling
As in local_irq_save / preempt_disable?  Yes, already done.
quoted
- Use the original "real" spin locks/rwlocks (raw_*).
[...]
It was unclear from the OLS paper whether the spin_lock_irq* family of
functions also had to be moved to the raw forms.
By making the locks of the raw_* type, spin_lock_irq* functions would
then automatically disable hardware interrupts.
quoted
You just don't want to sleep in the tracing code. [...]  Since you
will likely disable preemption, make sure your tracing code executes
in a deterministic time.
Definitely, that has always been the case.
quoted
Make sure that the sub-buffer switch code respects that too [...]
We will review that part of the related code.

- FChE
-- 
Regards,
Ankita Garg (ankita@in.ibm.com)
Linux Technology Center
IBM India Systems & Technology Labs, 
Bangalore, India   
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help