lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 14 Sep 2020 10:32:11 -0700 From: Linus Torvalds <torvalds@...ux-foundation.org> To: Jason Gunthorpe <jgg@...dia.com> Cc: Peter Xu <peterx@...hat.com>, Leon Romanovsky <leonro@...dia.com>, Linux-MM <linux-mm@...ck.org>, Linux Kernel Mailing List <linux-kernel@...r.kernel.org>, "Maya B . Gokhale" <gokhale2@...l.gov>, Yang Shi <yang.shi@...ux.alibaba.com>, Marty Mcfadden <mcfadden8@...l.gov>, Kirill Shutemov <kirill@...temov.name>, Oleg Nesterov <oleg@...hat.com>, Jann Horn <jannh@...gle.com>, Jan Kara <jack@...e.cz>, Kirill Tkhai <ktkhai@...tuozzo.com>, Andrea Arcangeli <aarcange@...hat.com>, Christoph Hellwig <hch@....de>, Andrew Morton <akpm@...ux-foundation.org> Subject: Re: [PATCH 1/4] mm: Trial do_wp_page() simplification On Mon, Sep 14, 2020 at 7:38 AM Jason Gunthorpe <jgg@...dia.com> wrote: > > I don't have a detailed explanation right now, but this patch appears > to be causing a regression where RDMA subsystem tests fail. Tests > return to normal when this patch is reverted. > > It kind of looks like the process is not seeing DMA'd data to a > pin_user_pages()? I'm a nincompoop. I actually _talked_ to Hugh Dickins about this when he raised concerns, and I dismissed his concerns with "but PAGE_PIN is special". As usual, Hugh was right. Page pinning certainly _is_ special, but it's not that different from the regular GUP code. But in the meantime, I have a lovely confirmation from the kernel test robot, saying that commit 09854ba94c results in a "vm-scalability.throughput 31.4% improvement", which was what I was hoping for - the complexity wasn't just complexity, it was active badness due to the page locking horrors. I think what we want to do is basically do the "early COW", but only do it for FOLL_PIN (and not turn them into writes for anything but the COW code). So basically redo the "enforced COW mechanism", but rather than do it for everything, now do it only for FOLL_PIN, and only in that COW path. Peter - any chance you can look at this? I'm still looking at the page lock fairness performance regression, although I now think I have a test patch for Phoronix to test out. Linus
Powered by blists - more mailing lists