Hi Charles! Thanks for your answer. Yes, I was talking about yaffs direct. Page-by-page locking is of course all right. I have another question. Our NAND chip has the ability to prefetch pages. I imagine we could benefit from this. Is there a way to get a hint from yaffs what it is about to read next? Or do you know some good place to insert such an optimization? Best regards, Johan ----- Original Message ----- From: "Charles Manning" To: Cc: "Johan Kotlinski" Sent: Wednesday, February 03, 2010 1:15 AM Subject: Re: [Yaffs] multithreading question > On Tuesday 02 February 2010 00:29:17 Johan Kotlinski wrote: >> Hi! >> It appears that Yaffs2 multithreading protection is on a very high level >> (mutex wrapping entire fread/fwrite calls). > > Are you talking about yaffs direct or the Linux yaffs? > The linux yaffs will be locked on a page-by-page basis and I am going to > change the way yaffs direct does the reading/writing too to only lock on a > page-by-page basis. > > The underlying NAND is locked on a apge by page basis too (that's a > limitation > of the hardware), so is this really a big concern? > > >> >> My worry is that if a low-priority task does a large fwrite call, it >> could >> block high-priority tasks for a long time. Is this an acknowledged >> problem? > > It depends on the OS. Some, without priority inhere, won't have this > problem. >> Are there comparable file systems that handle multithreading in a more >> granular way? > > > >