Re: [PATCH] scan.c

David Woodhouse
2002-06-17T10:15:37Z

Joakim.Tjernlund@lumentis.se said:
> I was sure that I sent this one long time ago, but my mind must play
> tricks on me.

> Do not scan blocks which just contain a CLEANMARKER, it's a waste of
> CPU cycles.

I'd rather we still scanned them, but deferred it till later -- as long as
it gets done before we actually try to write to them, that's fine.

We can go one better than that -- we can avoid doing the crc32 check on
data nodes during mount. As as we do it in read_inode(), and we do _all_
inodes before actually starting to garbage-collect, we don't have to make
the user wait for it during mount.

I tried both of these last week (well, actually I just disabled the crc32
without doing it later), and the latter gave more of an improvement. If we
skip the building up of fragment lists during mount too, it'll probably get
even faster.

Of course, the two things that gave me the best improvement in mount time
were fixing the inocache_last optimisation, and then just increasing
INOCACHE_HASHSIZE to 128. The latter rendered the whole inocache_last
optimisation pointless, btw.

--
dwmw2