Re: [PATCH 09/10] Add yaffs2 file system: Linux glue code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux