Sorry, wrong mail domain :)
FrankH.

---------- Forwarded message ----------
Date: Fri, 28 Sep 2007 14:21:54 +0100 (BST)
From: Frank Hofmann <frank.hofm...@sun.com>
To: Moinak Ghosh <Moinak.Ghosh at Sun.COM>
Cc: hsfs-iteam at Sun.COM, caiman-discuss at Sun.COM
Subject: Re: Final webrevs updated for HSFS readahead changes


Hi Moinak,

to me, the code looks great now. Except for one thing:

As far as the kstats go, what's the system doing on multiple kstats being 
created with the same name ? You're doing the kstat_create once per mount, but 
re-use the same name/ID fields. I think that might cause memory leaks; has the 
hsfs kstat code been tested with 2+ concurrently mounted/accessed HSFS 
filesystems ?

If you take e.g. UFS as a precedence (inode / logging / directio kstats), all 
of these are created at module initialization, not at mount. Same for the ZFS 
arc kstats.
There's other precedence (fssnap) for per-mountpoint kstats, but if you do that 
you'd have to:
        - make sure you pass unique names / IDs
        - delete previously-existing kstats of the same name / ID
when you call kstat_create(). It's more complicated and there's the possibility 
for errors.

The kstats are nice to have, right there; but if it gets too complicated to 
make them per-mountpoint then either make them global, or simply purge the 
kstats, get a few more SDT probes in and let DTrace do the sum() instead of the 
kstat framework. It's probably not worth spending another week on this, it's a 
side aspect of the change.

Thanks for the great work on this !
FrankH.


On Thu, 20 Sep 2007, Moinak Ghosh wrote:

> I have completed all the updates after the last review comments and completed
> all my testing. I have done manual tests and Filebench tests on SPARC and
> x86. The Filebench tests were also repeated to kmem_flags set to 0x1f  and
> checked for correctness and leaks. The fsfuzzer test was run for 10days 
> without
> issues. The bug is updated.
> 
> The updated webrevs are available at:
> http://www.genunix.org/distributions/belenix_site//binfiles/hsfswebrev/index.htm
> 
> Updated binaries available from:
> http://www.genunix.org/distributions/belenix_site//binfiles/hsfs.amd64
> http://www.genunix.org/distributions/belenix_site//binfiles/hsfs.sparcv9
> 
> This update adds the following changes:
> 
> - Incorporate all the review comments.
> - Add kstats and SDT probes for debugging purposes. You can copy the
> updated module, mount a DVD and see:
> kstat -m hsfs_fs
> dtrace -l -P sdt | grep hsfs
> - SPARC testing was done on a T2000 and it threw up a surprise perf
> issue for the single-stream sequential read and random read tests. It was
> found using standard kmem_alloc for thousands of small allocations of
> size 96 bytes was inefficient. So a kmem_cache was used and it made
> a dramatic difference.
> - Removed one unnecessary page_lookup in the readahead path.
> 
> As it stands now there is an across the board improvement on all Filebench
> tests including the random read tests on both x86 and SPARC.
> 
> Please send your replies to caiman-discuss where this email was posted as
> well.
> 
> Regards,
> Moinak.
>

Reply via email to