Re: LatencyTOP infrastructure patch

2008-01-21 Thread Arjan van de Ven
KOSAKI Motohiro wrote: Hi +static void __sched +account_global_scheduler_latency(struct task_struct *tsk, int usecs) +{ + int i; + int firstnonnull = MAXLR + 1; + + if (!tsk->latency_reason.reason) + return; + + /* skip kernel threads for now */ + if

Re: LatencyTOP infrastructure patch

2008-01-21 Thread KOSAKI Motohiro
Hi > +static void __sched > +account_global_scheduler_latency(struct task_struct *tsk, int usecs) > +{ > + int i; > + int firstnonnull = MAXLR + 1; > + > + if (!tsk->latency_reason.reason) > + return; > + > + /* skip kernel threads for now */ > + if (!tsk->mm) > +

Re: LatencyTOP infrastructure patch

2008-01-21 Thread KOSAKI Motohiro
Hi +static void __sched +account_global_scheduler_latency(struct task_struct *tsk, int usecs) +{ + int i; + int firstnonnull = MAXLR + 1; + + if (!tsk-latency_reason.reason) + return; + + /* skip kernel threads for now */ + if (!tsk-mm) +

Re: LatencyTOP infrastructure patch

2008-01-21 Thread Arjan van de Ven
KOSAKI Motohiro wrote: Hi +static void __sched +account_global_scheduler_latency(struct task_struct *tsk, int usecs) +{ + int i; + int firstnonnull = MAXLR + 1; + + if (!tsk-latency_reason.reason) + return; + + /* skip kernel threads for now */ + if

Re: [patch 1/3] LatencyTOP infrastructure patch

2008-01-20 Thread Dmitry Adamushko
On 20/01/2008, Dmitry Adamushko <[EMAIL PROTECTED]> wrote: > Hello Arjan, > > a few comments on the current locking scheme. heh... now having read the first message in this series ("[Announce] Development release 0.1 of the LatencyTOP tool"), I finally see that "fine-grained locking" is still on

Re: [patch 1/3] LatencyTOP infrastructure patch

2008-01-20 Thread Dmitry Adamushko
Hello Arjan, a few comments on the current locking scheme. There is a single global lock and the locked section in account_scheduler_latency() seems to be quite long: (at worst case) - get_wchan() ; - account_global_scheduler_latency() which does up to MAXLR (128) loops x2 strcmp() operations;

Re: [patch 1/3] LatencyTOP infrastructure patch

2008-01-20 Thread Helge Deller
Arjan van de Ven wrote: > [linux-2.6.24-rc7/include/linux/latencytop.h] > +struct latency_entry { > + char*reason; >... > +struct latency_record { > + char*reason; >... > +struct latency_entry *set_latency_reason(char *reason, >... I'd propose to mark the "reason" entries above

Re: [patch 1/3] LatencyTOP infrastructure patch

2008-01-20 Thread Helge Deller
Arjan van de Ven wrote: [linux-2.6.24-rc7/include/linux/latencytop.h] +struct latency_entry { + char*reason; ... +struct latency_record { + char*reason; ... +struct latency_entry *set_latency_reason(char *reason, ... I'd propose to mark the reason entries above (and the

Re: [patch 1/3] LatencyTOP infrastructure patch

2008-01-20 Thread Dmitry Adamushko
Hello Arjan, a few comments on the current locking scheme. There is a single global lock and the locked section in account_scheduler_latency() seems to be quite long: (at worst case) - get_wchan() ; - account_global_scheduler_latency() which does up to MAXLR (128) loops x2 strcmp() operations;

Re: [patch 1/3] LatencyTOP infrastructure patch

2008-01-20 Thread Dmitry Adamushko
On 20/01/2008, Dmitry Adamushko [EMAIL PROTECTED] wrote: Hello Arjan, a few comments on the current locking scheme. heh... now having read the first message in this series ([Announce] Development release 0.1 of the LatencyTOP tool), I finally see that fine-grained locking is still on your todo

[patch 1/3] LatencyTOP infrastructure patch

2008-01-18 Thread Arjan van de Ven
This patch is the core LatencyTOP kernel infrastructure; it measures latencies in the scheduler and tracks it system wide and per process --- fs/proc/base.c | 61 + include/linux/latencytop.h | 62 + include/linux/sched.h |6 kernel/Makefile|

[patch 1/3] LatencyTOP infrastructure patch

2008-01-18 Thread Arjan van de Ven
This patch is the core LatencyTOP kernel infrastructure; it measures latencies in the scheduler and tracks it system wide and per process --- fs/proc/base.c | 61 + include/linux/latencytop.h | 62 + include/linux/sched.h |6 kernel/Makefile|