Re: AIM7 40% regression with 2.6.26-rc1
From: Andrew Morton
Date: Tue May 06 2008 - 13:23:00 EST
On Tue, 6 May 2008 10:23:32 -0600 Matthew Wilcox <matthew@xxxxxx> wrote:
> On Tue, May 06, 2008 at 06:09:34AM -0600, Matthew Wilcox wrote:
> > So the only likely things I can see are:
> >
> > - file locks
> > - fasync
>
> I've wanted to fix file locks for a while. Here's a first attempt.
Do we actually know that the locks code is implicated in this regression?
I'd initially thought "lseek" but afaict tmpfs doesn't hit default_llseek()
or remote_llseek().
tmpfs tends to do weird stuff - it would be interesting to know if the
regression is also present on ramfs or ext2/ext3/xfs/etc.
It would be interesting to see if the context switch rate has increased.
Finally: how come we regressed by swapping the semaphore implementation
anyway? We went from one sleeping lock implementation to another - I'd
have expected performance to be pretty much the same.
<looks at the implementation>
down(), down_interruptible() and down_try() should use spin_lock_irq(), not
irqsave.
up() seems to be doing wake-one, FIFO which is nice. Did the
implementation which we just removed also do that? Was it perhaps
accidentally doing LIFO or something like that?
--
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/