On Wed, Sep 16, 2015 at 5:37 PM, Dave Chinner <david@xxxxxxxxxxxxx> wrote: > > TL;DR: Results look really bad - not only is the plugging > problematic, baseline writeback performance has regressed > significantly. Dave, if you're testing my current -git, the other performance issue might still be the spinlock thing. I haven't gotten the -tip pull fox the spinlock regression yet, and since you were the only one who noticed, I didn't consider it critical enough to bypass the normal schedule, so -rc1 still has the crazy-bad test-and-set loop for spinlocks. So it's waiting in the locking fix branch (and is cc'd for stable), but hasn't reached me yet. If you want to test that theory out, you can make virt_spin_lock() just unconditionally return false to disable the bad cmpxchg loop for now. The plugging IO pauses are interesting, though. Plugging really *shouldn't* cause that kind of pauses, _regardless_ of what level it happens on, so I wonder if the patch ends up just exposing some really basic problem that just normally goes hidden. Can you match up the IO wait times with just *where* it is waiting? Is it waiting for that inode I_SYNC thing in inode_sleep_on_writeback()? But it does sound like we should just revert the whole plugging for now, if only because "it has odd effects". Linus -- 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