lkml.org 
[lkml]   [2020]   [Jul]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCHv2] mm: Fix warning in move_normal_pmd()
    On Thu, Jul 16, 2020 at 1:55 PM Linus Torvalds
    <torvalds@linux-foundation.org> wrote:
    >
    > On Thu, Jul 16, 2020 at 6:16 AM Kirill A. Shutemov <kirill@shutemov.name> wrote:
    > >
    > > It can also lead to performance regression: for small mremap() if only one
    > > side of the range got aligned and there's no PMD_SIZE range to move,
    > > kernel will still iterate over PTEs, but it would need to handle more
    > > pte_none()s than without the patch.
    >
    > Ack, I've dropped the patch from my queue of experiments, because it
    > doesn't work for the case I wanted to do, and the other cases could
    > regress, as you say.
    >
    > Plus considering how many problems that patch had, I decided it wasn't
    > as simple as I initially thought it would be anyway ;)
    >
    > Joel - while it's gone from my mind, if you're still interested in
    > this, maybe you can do something _similar_ that patch, except perhaps
    > also start out checking that the initial size is large enough for this
    > to make sense even when one of the sides doesn't align, for example.
    >
    > (It might be as simple as checking that the initial 'len' is at least
    > PMD_SIZE - then you're guaranteed that whichever side gets aligned,
    > it's not doing extra work because the other side didn't).

    Hi Linus,
    Yes I'm quite interested in doing a similar patch and also adding some
    test cases to make sure it always works properly. Probably I can add
    some kselftest cases doing mremap on various ranges.

    I think it will be a great optimization to trigger the PMD move more
    often. I'll work on it and get back hopefully soon on this, Thanks!

    - Joel

    \
     
     \ /
      Last update: 2020-07-16 20:49    [W:3.105 / U:0.468 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site