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-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html