[Cbe-oss-dev] [PATCH 3/3] spufs: Fix bitrot of the SPU mmap facility
Arnd Bergmann
arnd at arndb.de
Tue Feb 13 23:16:34 EST 2007
On Tuesday 13 February 2007 01:46, Benjamin Herrenschmidt wrote:
> It looks like we've had some serious bitrot there mostly due to tracking
> of address_space's of mmap'ed files getting out of sync with the actual
> mmap code. The mfc, mss and psmap were not tracked properly and thus
> not invalidated on context switches (oops !)
>
> I also removed the various file->f_mapping = inode->i_mapping;
> assignments that were done in the other open() routines since that
> is already done for us by __dentry_open.
>
> One improvement we might want to do later is to assign the various
> ctx-> fields at mmap time instead of file open/close time so that we
> don't call unmap_mapping_range() on thing that have not been mmap'ed
>
> Finally, I added some smp_wmb's after assigning the ctx-> fields to make
> sure they are visible to other CPUs. I don't think this is really
> necessary as I suspect locking in the fs layer will make that happen
> anyway but better safe than sorry.
>
> Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
Acked-by: Arnd Bergmann <arnd.bergmann at de.ibm.com>
More information about the cbe-oss-dev
mailing list