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