Re: [PATCH 09/10] Add yaffs2 file system: Linux glue code
From: Charles Manning
Date: Thu Feb 10 2011 - 17:47:10 EST
On Friday 11 February 2011 11:07:31 Ryan Mallon wrote:
> On 02/09/2011 04:26 PM, Charles Manning wrote:
> > Signed-off-by: Charles Manning <cdhmanning@xxxxxxxxx>
>
> Hi Charles,
>
> More comments below. The locking I think needs some work before this is
> okay for mainline. It would be interesting to stress test yaffs on an
> SMP machine. None of the boards which we run yaffs on are though :-(.
yaffs can be run on a PC using nandsim and I have done so with the
multi-version code. I am setting up another PC for single-version (ie.
mainlining) testing.
I'll take an in depth look at your comments, but it is important to understand
the locking model a bit better,
yaffs just uses one big lock. We need to consider locking for many reasons and
need to ensure that stuff does not get modified behind our back. For example
setattr on one object can cause garbage collection to change the flash
location - and thus the tnode tree - of another object.
There is probably scope to change the gross locking model to a r/w lock which
would mean that read operations could proceed better.
I did a non-open-source project of looking at finer grained locking but found
that there were not many gains for what I looked at. Ultimately anything that
goes to flash is serialised by the flash access.
-- Charles
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/