[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1334399070.2263.3.camel@koala>
Date: Sat, 14 Apr 2012 13:24:17 +0300
From: Artem Bityutskiy <dedekind1@...il.com>
To: OGAWA Hirofumi <hirofumi@...l.parknet.co.jp>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Linux Kernel Maling List <linux-kernel@...r.kernel.org>,
Linux FS Maling List <linux-fsdevel@...r.kernel.org>,
Artem Bityutskiy <artem.bityutskiy@...ux.intel.com>
Subject: Re: [PATCH v2 3/4] fat: mark superblock as dirty less often
Hi, thanks for feed-back,
On Sat, 2012-04-14 at 18:17 +0900, OGAWA Hirofumi wrote:
> Artem Bityutskiy <dedekind1@...il.com> writes:
>
> > From: Artem Bityutskiy <artem.bityutskiy@...ux.intel.com>
> >
> > This patch is a preparation for further changes. It touches few functions
> > in fatent.c and prevents them from marking the superblock as dirty
> > unnecessarily often. Namely, instead of marking it as dirty in the internal
> > tight loops - do it only once at the end of the functions. And instead of
> > marking it as dirty while holding the FAT table lock, do it outside the lock.
> >
> > The reason for this patch is that marking the superblock as dirty will soon
> > become a little bit heavier operation, so it is cleaner to do this only when it
> > is necessary.
>
> For it, please use local variable like,
>
>
> {
> int fsinfo_dirty = 0;
>
> while (1) {
> change free_clusters
> fsinfo_dirty = 1;
> }
>
> if (fsinfo_dirty)
> mark_fsinfo_dirty()
> }
>
> instead of dirty it always.
But could you please explain why do we need an extra variable? What is
the problem with doing all our FAT table changes and then marking the
FSINFO as dirty?
--
Best Regards,
Artem Bityutskiy
Download attachment "signature.asc" of type "application/pgp-signature" (491 bytes)
Powered by blists - more mailing lists