Messages in this thread | | | Date | Sat, 22 Feb 2003 00:04:10 -0800 | From | Andrew Morton <> | Subject | Re: Strange performance change 59 -> 61/62 |
| |
"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/
| |