![]() | |||||||||||
Messages in this thread |
* Ingo Molnar <mingo@elte.hu> wrote: > this smells too. [...] found two brown-paperbag bugs that caused bad latencies in the -RT kernel: when i added PREEMPT_DIRECT (which first showed up in -32-10) i also added a missed-reschedule bug to try_to_wake_up() and to mutex/semaphore-unlock (__up()). Oops. i dont think this bug could explain a msec-range latency because the syscall return path should catch the missed reschedule and it would need continuous syscall execution in the milliseconds range by a lowprio task for a latency to be transported to latencytest, but certainly the bug doesnt help latencies. The -32-15 kernel can be downloaded from the usual place: http://redhat.com/~mingo/realtime-preempt/ other changes in -32-15: more work on the tracer, cleaner trace output and the tracing of syscall entries and returns, with arguments and return values displayed as well (i.e. a simple strace variant). Here is how a syscall now looks like in /proc/latency_trace: loop-tes-3885 0.... 100µs > sys_getppid (002fcffc 00000001 0000007b) loop-tes-3885 0.... 101µs+: sys_getppid (sysenter_past_esp) loop-tes-3885 0d... 103µs < (3868) '< (return-val)' is the syscall return value, '> sys_name(params)' is the syscall itself. (note that the return path is also used by interrupts, so it's not purely a syscall-return point) This makes it easier to track userspace execution. Ingo - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||
| Last update: 2005-03-22 14:08 [from the cache] ©2003-2008 | |||||||||||