From: Will Deacon <will@kernel.org> To: Linus Torvalds <torvalds@linux-foundation.org> Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, Linux-MM <linux-mm@kvack.org>, Linux ARM <linux-arm-kernel@lists.infradead.org>, Catalin Marinas <catalin.marinas@arm.com>, Jan Kara <jack@suse.cz>, Minchan Kim <minchan@kernel.org>, Andrew Morton <akpm@linux-foundation.org>, "Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>, Vinayak Menon <vinmenon@codeaurora.org>, Hugh Dickins <hughd@google.com>, Android Kernel Team <kernel-team@android.com> Subject: Re: [PATCH v2 0/3] Create 'old' ptes for faultaround mappings on arm64 with hardware access flag Date: Mon, 11 Jan 2021 13:30:08 +0000 [thread overview] Message-ID: <20210111133007.GA7642@willie-the-truck> (raw) In-Reply-To: <CAHk-=wg3UkUdiTbqWFx3zBLXv9VJHuNZAa5QyDvXiSmD4gX94A@mail.gmail.com> On Fri, Jan 08, 2021 at 11:34:08AM -0800, Linus Torvalds wrote: > On Fri, Jan 8, 2021 at 9:15 AM Will Deacon <will@kernel.org> wrote: > > > > The big difference in this version is that I have reworked it based on > > Kirill's patch which he posted as a follow-up to the original. However, > > I can't tell where we've landed on that -- Linus seemed to like it, but > > Hugh was less enthusiastic. > > Yeah, I like it, but I have to admit that it had a disturbingly high > number of small details wrong for several versions. I hope you picked > up the final version of the code. I picked the version from here: https://lore.kernel.org/r/20201229132819.najtavneutnf7ajp@box and actually, I just noticed that willy spotted a typo in a comment, so I'll fix that locally as well as adding the above to a 'Link:' tag for reference. > At the same time, I do think that the "disturbingly high number of > issues" was primarily exactly _because_ the old code was so > incomprehensible, and I think the end result is much cleaner, so I > still like it. > > >I think that my subsequent patches are an > > awful lot cleaner after the rework > > Yeah, I think that's a side effect of "now the code really makes a lot > more sense". Your subsequent patches 2-3 certainly are much simpler > now, although I'd be inclined to add an argument to "do_set_pte()" > that has the "write" and "pretault" bits in it, instead of having to > modify the 'vmf' structure. I played with a few different ways of doing this, but I can't say I prefer them over what I ended up posting. Having a bunch of 'bool' arguments makes the callers hard to read and brings into question what exactly vmf->flags is for. I also tried adding a separate 'address' parameter so that vmf->address is always the real faulting address, but 'address' is the thing to use for the pte (i.e. prefault is when 'address != vmf->address'). That wasn't too bad, but it made the normal finish_fault() case look weird. So I think I'll leave it as-is and see if anybody wants to change it later on. Will
WARNING: multiple messages have this Message-ID (diff)
From: Will Deacon <will@kernel.org> To: Linus Torvalds <torvalds@linux-foundation.org> Cc: Jan Kara <jack@suse.cz>, Minchan Kim <minchan@kernel.org>, Catalin Marinas <catalin.marinas@arm.com>, Hugh Dickins <hughd@google.com>, Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, Linux-MM <linux-mm@kvack.org>, Vinayak Menon <vinmenon@codeaurora.org>, "Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>, Andrew Morton <akpm@linux-foundation.org>, Android Kernel Team <kernel-team@android.com>, Linux ARM <linux-arm-kernel@lists.infradead.org> Subject: Re: [PATCH v2 0/3] Create 'old' ptes for faultaround mappings on arm64 with hardware access flag Date: Mon, 11 Jan 2021 13:30:08 +0000 [thread overview] Message-ID: <20210111133007.GA7642@willie-the-truck> (raw) In-Reply-To: <CAHk-=wg3UkUdiTbqWFx3zBLXv9VJHuNZAa5QyDvXiSmD4gX94A@mail.gmail.com> On Fri, Jan 08, 2021 at 11:34:08AM -0800, Linus Torvalds wrote: > On Fri, Jan 8, 2021 at 9:15 AM Will Deacon <will@kernel.org> wrote: > > > > The big difference in this version is that I have reworked it based on > > Kirill's patch which he posted as a follow-up to the original. However, > > I can't tell where we've landed on that -- Linus seemed to like it, but > > Hugh was less enthusiastic. > > Yeah, I like it, but I have to admit that it had a disturbingly high > number of small details wrong for several versions. I hope you picked > up the final version of the code. I picked the version from here: https://lore.kernel.org/r/20201229132819.najtavneutnf7ajp@box and actually, I just noticed that willy spotted a typo in a comment, so I'll fix that locally as well as adding the above to a 'Link:' tag for reference. > At the same time, I do think that the "disturbingly high number of > issues" was primarily exactly _because_ the old code was so > incomprehensible, and I think the end result is much cleaner, so I > still like it. > > >I think that my subsequent patches are an > > awful lot cleaner after the rework > > Yeah, I think that's a side effect of "now the code really makes a lot > more sense". Your subsequent patches 2-3 certainly are much simpler > now, although I'd be inclined to add an argument to "do_set_pte()" > that has the "write" and "pretault" bits in it, instead of having to > modify the 'vmf' structure. I played with a few different ways of doing this, but I can't say I prefer them over what I ended up posting. Having a bunch of 'bool' arguments makes the callers hard to read and brings into question what exactly vmf->flags is for. I also tried adding a separate 'address' parameter so that vmf->address is always the real faulting address, but 'address' is the thing to use for the pte (i.e. prefault is when 'address != vmf->address'). That wasn't too bad, but it made the normal finish_fault() case look weird. So I think I'll leave it as-is and see if anybody wants to change it later on. Will _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-01-11 13:31 UTC|newest] Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-01-08 17:15 [PATCH v2 0/3] Create 'old' ptes for faultaround mappings on arm64 with hardware access flag Will Deacon 2021-01-08 17:15 ` Will Deacon 2021-01-08 17:15 ` [PATCH v2 1/3] mm: Cleanup faultaround and finish_fault() codepaths Will Deacon 2021-01-08 17:15 ` Will Deacon 2021-01-11 14:26 ` Kirill A. Shutemov 2021-01-11 14:26 ` Kirill A. Shutemov 2021-01-11 14:27 ` Will Deacon 2021-01-11 14:27 ` Will Deacon 2021-01-08 17:15 ` [PATCH v2 2/3] mm: Allow architectures to request 'old' entries when prefaulting Will Deacon 2021-01-08 17:15 ` Will Deacon 2021-01-11 14:25 ` Kirill A. Shutemov 2021-01-11 14:25 ` Kirill A. Shutemov 2021-01-11 14:37 ` Will Deacon 2021-01-11 14:37 ` Will Deacon 2021-01-11 14:47 ` Kirill A. Shutemov 2021-01-11 14:47 ` Kirill A. Shutemov 2021-01-08 17:15 ` [PATCH v2 3/3] arm64: mm: Implement arch_wants_old_prefaulted_pte() Will Deacon 2021-01-08 17:15 ` Will Deacon 2021-01-08 19:34 ` [PATCH v2 0/3] Create 'old' ptes for faultaround mappings on arm64 with hardware access flag Linus Torvalds 2021-01-08 19:34 ` Linus Torvalds 2021-01-08 19:34 ` Linus Torvalds 2021-01-08 19:42 ` Linus Torvalds 2021-01-08 19:42 ` Linus Torvalds 2021-01-08 19:42 ` Linus Torvalds 2021-01-11 14:01 ` Will Deacon 2021-01-11 14:01 ` Will Deacon 2021-01-11 13:30 ` Will Deacon [this message] 2021-01-11 13:30 ` Will Deacon 2021-01-11 21:03 ` Hugh Dickins 2021-01-11 21:03 ` Hugh Dickins 2021-01-11 21:03 ` Hugh Dickins 2021-01-12 21:46 ` Will Deacon 2021-01-12 21:46 ` Will Deacon 2021-01-11 14:24 ` Kirill A. Shutemov 2021-01-11 14:24 ` Kirill A. Shutemov 2021-01-11 19:25 ` Linus Torvalds 2021-01-11 19:25 ` Linus Torvalds 2021-01-11 19:25 ` Linus Torvalds 2021-01-12 21:47 ` Will Deacon 2021-01-12 21:47 ` Will Deacon 2021-01-12 21:55 ` Linus Torvalds 2021-01-12 21:55 ` Linus Torvalds 2021-01-12 21:55 ` Linus Torvalds
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210111133007.GA7642@willie-the-truck \ --to=will@kernel.org \ --cc=akpm@linux-foundation.org \ --cc=catalin.marinas@arm.com \ --cc=hughd@google.com \ --cc=jack@suse.cz \ --cc=kernel-team@android.com \ --cc=kirill.shutemov@linux.intel.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=minchan@kernel.org \ --cc=torvalds@linux-foundation.org \ --cc=vinmenon@codeaurora.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.