Re: get_user_pages() cache issues on ARM



Added James Bottomley to the CC. He designed this interface, and he
explained to me how it's supposed to work, but I since forgot.

James, do you have some memory of these issues?

Thanks,
Miklos

Hi Russell,

The get_user_pages() vs dcache coherency issue still seems to be
unresolved on ARM.

See flush_anon_page() and flush_kernel_dcache_page() in
Documentation/cachetlb.txt and their implementation on PARISC.

Can you please take a look at this?

I'm sorry, I don't think I have sufficient understanding of the Linux VM
to look at these issues anymore.

The questions I have are:

- where do these pages that get_user_pages() finds and calls flush_anon_page()
on come from?
- why is the current ARM flush_dcache_page() (which is also called after
flush_anon_page()) not sufficient?
- if we implement flush_anon_page() does that mean that we end up flushing
multiple times in some circumstances? If so, how do we avoid this?

I'm really serious - I no longer understand the Linux VM sufficiently to
get this stuff right.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: [SCSI] fix media change events for polled devices
    ... James Bottomley wrote: ... You broke a fundamental assumption of the interface -- that supported_events accurately and fully represented all events sent via the new API. ...
    (Linux-Kernel)
  • Re: [PATCH] Add iSCSI iBFT support (v0.4.6)
    ... James Bottomley wrote: ... they're only called once on boot. ... And note that the reserve_bootmeminterface is about to change. ... Please read the FAQ at http://www.tux.org/lkml/ ...
    (Linux-Kernel)
  • Re: iomapping a big endian area
    ... On Sat, 2005-04-02 at 22:27 -0600, James Bottomley wrote: ... > our only missing interface is for a BE bus on a BE system. ... send the line "unsubscribe linux-kernel" in ...
    (Linux-Kernel)