1. 14 2月, 2007 39 次提交
  2. 13 2月, 2007 1 次提交
    • B
      [POWERPC] spufs: Fix bitrot of the SPU mmap facility · 17e0e270
      Benjamin Herrenschmidt 提交于
      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: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      17e0e270