Re: Strange performance change 59 -> 61/62

From: Andrew Morton (akpm@digeo.com)
Date: Sat Feb 22 2003 - 03:04:10 EST


"Martin J. Bligh" <mbligh@aracnet.com> wrote:
>
> > mark_inode_dirty() tends to be called _very_ frequently. Too frequently.
> >
> > Could you try remounting all filesystems noatime with
> >
> > mount /mnt/point -o remount,noatime
> >
> > and the below patch will prevent us calling the barrier-happy
> > current_kernel_time() for noatime mounts.
>
> Cool, that works nicely - thanks.
>
> 2.5.59-mjb6: 84 __mark_inode_dirty
> 2.5.61-mjb1: 594 __mark_inode_dirty
> 2.5.61-mjb1-no_mb: 74 __mark_inode_dirty
> 2.5.61-mjb1-noatime: 65 __mark_inode_dirty
>

OK. We used to only run mark_inode_dirty() for atime updates just when it
had actually changed. ie: once per second. But for reasons which remain
obscure that was taken out.

This probably explains your ext3 woes. Poor old ext3 has to do a ton of work
in ext3_mark_inode_dirty(), yet on 99% of the calls, nothing has even
changed. Which is why I suggested that you retest ext3 with noatime.

I shall fix it up.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Feb 23 2003 - 22:00:35 EST