Re: [PATCH][RFC] Adding information of counts processes acquiredhow many spinlocks to schedstat

From: Hitoshi Mitake
Date: Wed Jul 01 2009 - 04:42:49 EST


From: Andi Kleen <andi@xxxxxxxxxxxxxx>
Subject: Re: [PATCH][RFC] Adding information of counts processes acquired how many spinlocks to schedstat
Date: Wed, 01 Jul 2009 09:38:04 +0200

> Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> writes:
>
> > Hi,
> >
> > I wrote a test patch which add information of counts processes acquired how many spinlocks to schedstat.
> > After applied this patch, /proc/<PID>/sched will change like this,
>
> The problem is that spinlocks are very common and schedstats is enabled commonly
> in production kernels. You would need to demonstrate that such a change doesn't
> have significant performance impact. For me it looks like it has.

I agree with your opinion about performance impact.
I thought this will make no problem,
because schedstat is categorized as "Kernel hacking" section.
But according to you, many production kernels enable it
so my patch will make widespread performance degradation.
I didn't know that, sorry.

>
> Also I'm not sure exactly what good such a metric is. Do you have
> a concrete use case?
>

I want to know about behavior of Apache.
Because Apache uses sendfile() system call,
and according to this paper, sendfile() acquires many spinlocks

http://www.usenix.org/events/vm04/tech/uhlig.html

And spinlocks may cause terrible performance problem when Linux is running on VM.

> The normal way to check for lock contention or lock bouncingis to
> simply profile cycles or time and see if there is a lot of CPU time in
> locks.

According to Ingo's advice, I'll try to add lock counter to perfcounter.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/