lkml.org 
[lkml]   [2015]   [May]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v3 00/11] evacuate struct page from the block layer, introduce __pfn_t
    I don't like this series at all, it does too much and too little at
    the same time.

    There's three totally different parts to it that are mixed up:

    (1) cleanups to use accessors for struct scatterlist instead of exposing
    the intricate details of chained S/G list to users
    (2) a switch of struct scatterlist to store a PFN instead of a page
    (3) switch struct bio_vec to store a struct PFN instead of a page

    (1) are pretty obvious cleanups, and they should have been submited
    separately long time ago.

    (2) seems like a good idea, but only when done properly, that is a full
    conversion to it. Not a you need a config option, in which case maybe
    some architectures and can sometimes deal with it if they driver says:
    meh, okay.

    Given that nature of SGLs most consumer want a physical address anyway,
    and it shouldn't be a problem to convert all others that need a kernel
    mapping to proper helpers.

    (3) I'm not sure about in it's current form. The bio_vec sees all kinds
    of highlevel use and we need to be a lot more careful about it, due to
    the way we e.g. use the in the iov_iter based read/write interfaces.

    It could be that pfn_t based approach there makes sense, but only if
    we ensure all consumer can always handle them.

    Because of that I'd suggest you try to get (1) and (2) done properly
    first, at that point we'll have how we can do (3) without causing
    a big mess.



    \
     
     \ /
      Last update: 2015-05-23 17:01    [W:5.644 / U:0.132 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site