[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <877gxiha4b.fsf@devron.myhome.or.jp>
Date: Sat, 14 Apr 2012 19:37:56 +0900
From: OGAWA Hirofumi <hirofumi@...l.parknet.co.jp>
To: dedekind1@...il.com
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
Artem Bityutskiy <dedekind1@...il.com> writes:
> 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?
Above example may not be proper. I meant please dirty FSINFO only if
necessary. Your patch seems to be dirty even if code didn't change
FSINFO.
--
OGAWA Hirofumi <hirofumi@...l.parknet.co.jp>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists