lkml.org 
[lkml]   [2017]   [Oct]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH v3 02/13] dax: require 'struct page' for filesystem dax
    On Sun, Oct 22, 2017 at 10:18 PM, Martin Schwidefsky
    <schwidefsky@de.ibm.com> wrote:
    > On Fri, 20 Oct 2017 18:29:33 +0200
    > Christoph Hellwig <hch@lst.de> wrote:
    >
    >> On Fri, Oct 20, 2017 at 08:23:02AM -0700, Dan Williams wrote:
    >> > Yes, however it seems these drivers / platforms have been living with
    >> > the lack of struct page for a long time. So they either don't use DAX,
    >> > or they have a constrained use case that never triggers
    >> > get_user_pages(). If it is the latter then they could introduce a new
    >> > configuration option that bypasses the pfn_t_devmap() check in
    >> > bdev_dax_supported() and fix up the get_user_pages() paths to fail.
    >> > So, I'd like to understand how these drivers have been using DAX
    >> > support without struct page to see if we need a workaround or we can
    >> > go ahead delete this support. If the usage is limited to
    >> > execute-in-place perhaps we can do a constrained ->direct_access() for
    >> > just that case.
    >>
    >> For axonram I doubt anyone is using it any more - it was a very for
    >> the IBM Cell blades, which were produceѕ in a rather limited number.
    >> And Cell basically seems to be dead as far as I can tell.
    >>
    >> For S/390 Martin might be able to help out what the status of xpram
    >> in general and DAX support in particular is.
    >
    > The goes back to the time where DAX was called XIP. The initial design
    > point has been *not* to have struct pages for a large read-only memory
    > area. There is a block device driver for z/VM that maps a DCSS segment
    > somewhere in memore (no struct page!) with e.g. the complete /usr
    > filesystem. The xpram driver is a different beast and has nothing to
    > do with XIP/DAX.
    >
    > Now, if any there are very few users of the dcssblk driver out there.
    > The idea to save a few megabyte for /usr never really took of.
    >
    > We have to look at our get_user_pages() implementation to see how hard
    > it would be to make it fail if the target address is for an area without
    > struct pages.

    For read-only memory I think we can enable a subset of DAX, and
    explicitly turn off the paths that require get_user_pages(). However,
    I wonder if anyone has tested DAX with dcssblk because fork() requires
    get_user_pages()?

    \
     
     \ /
      Last update: 2017-10-23 10:56    [W:5.558 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site