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 disablingAs 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