From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicholas Piggin Subject: Re: [RFC PATCH 0/2] minor mmu_gather patches Date: Fri, 24 Aug 2018 09:35:43 +1000 Message-ID: <20180824093543.29549aa5@roar.ozlabs.ibm.com> References: <20180823084709.19717-1-npiggin@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: Linus Torvalds Cc: Peter Zijlstra , Andrew Lutomirski , the arch/x86 maintainers , Borislav Petkov , Will Deacon , Rik van Riel , Jann Horn , Adin Scannell , Dave Hansen , Linux Kernel Mailing List , linux-mm , David Miller , Martin Schwidefsky , Michael Ellerman , linux-arch List-Id: linux-arch.vger.kernel.org On Thu, 23 Aug 2018 12:15:37 -0700 Linus Torvalds wrote: > On Thu, Aug 23, 2018 at 1:47 AM Nicholas Piggin wrote: > > > > These are split from some patches I posted a while back, I was going > > to take a look and revive the series again after your fixes go in, > > but having another look, it may be that your "[PATCH 3/4] mm/tlb, > > x86/mm: Support invalidating TLB caches for RCU_TABLE_FREE" becomes > > easier after my patch 1. > > > > And I'm not convinced patch 2 is not a real bug at least for ARM64, > > so it may be possible to squeeze it in if it's reviewed very > > carefully (I need to actually reproduce and trace it). > > > > So not signed off by yet, but if you think it might be worth doing > > these with your changes, it could be a slightly cleaner end result? > > Actually, you did have sign-offs, and yes, that patch 1/2 does > actually clean up and simplify the HAVE_RCU_TABLE_INVALIDATE fix, so I > decided to mix these in with PeterZ's series. > > And since it turns out that patch doesn't apparently matter for > correctness and doesn't need to be backported to stable, I put it at > the end of the series together with the x86 cleanup patch to avoid the > unnecessary RCU-delayed freeing entirely for the non-PV case. > > So right now my "tlb-fixes" branch looks like this: > > x86/mm/tlb: Revert the recent lazy TLB patches > * mm: move tlb_table_flush to tlb_flush_mmu_free > * mm/tlb: Remove tlb_remove_table() non-concurrent condition > * mm/tlb, x86/mm: Support invalidating TLB caches for RCU_TABLE_FREE > mm: mmu_notifier fix for tlb_end_vma > x86/mm: Only use tlb_remove_table() for paravirt > > where the three starred patches are marked for stable. > > The initial revert is for this merge window only, and the two last > patches are cleanups and fixes but shouldn't matter for correctness in > stable. > > PeterZ - your "mm/tlb, x86/mm: Support invalidating TLB caches for > RCU_TABLE_FREE" patch looks exactly the same, but it now no longer has > the split of tlb_flush_mmu_tlbonly(), since with Nick's patch to move > the call to tlb_table_flush(tlb) into tlb_flush_mmu_free, there's no > need for the separate double-underscore version. > > I hope nothing I did screwed things up. It all looks sane to me. > Famous last words. > > I'll do a few more test builds and boots, but I think I'm going to > merge it in this cleaned-up and re-ordered form. I think the end result looks okay, modulo my build screw up -- at least the generic code. Thanks for putting it together. Thanks, Nick From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf1-f194.google.com ([209.85.210.194]:43209 "EHLO mail-pf1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726324AbeHXDHy (ORCPT ); Thu, 23 Aug 2018 23:07:54 -0400 Date: Fri, 24 Aug 2018 09:35:43 +1000 From: Nicholas Piggin Subject: Re: [RFC PATCH 0/2] minor mmu_gather patches Message-ID: <20180824093543.29549aa5@roar.ozlabs.ibm.com> In-Reply-To: References: <20180823084709.19717-1-npiggin@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-arch-owner@vger.kernel.org List-ID: To: Linus Torvalds Cc: Peter Zijlstra , Andrew Lutomirski , the arch/x86 maintainers , Borislav Petkov , Will Deacon , Rik van Riel , Jann Horn , Adin Scannell , Dave Hansen , Linux Kernel Mailing List , linux-mm , David Miller , Martin Schwidefsky , Michael Ellerman , linux-arch Message-ID: <20180823233543.ecP-_-JDkVoi8gp4cpj60fP8eOy7nmWUJ6cL_tgUpS8@z> On Thu, 23 Aug 2018 12:15:37 -0700 Linus Torvalds wrote: > On Thu, Aug 23, 2018 at 1:47 AM Nicholas Piggin wrote: > > > > These are split from some patches I posted a while back, I was going > > to take a look and revive the series again after your fixes go in, > > but having another look, it may be that your "[PATCH 3/4] mm/tlb, > > x86/mm: Support invalidating TLB caches for RCU_TABLE_FREE" becomes > > easier after my patch 1. > > > > And I'm not convinced patch 2 is not a real bug at least for ARM64, > > so it may be possible to squeeze it in if it's reviewed very > > carefully (I need to actually reproduce and trace it). > > > > So not signed off by yet, but if you think it might be worth doing > > these with your changes, it could be a slightly cleaner end result? > > Actually, you did have sign-offs, and yes, that patch 1/2 does > actually clean up and simplify the HAVE_RCU_TABLE_INVALIDATE fix, so I > decided to mix these in with PeterZ's series. > > And since it turns out that patch doesn't apparently matter for > correctness and doesn't need to be backported to stable, I put it at > the end of the series together with the x86 cleanup patch to avoid the > unnecessary RCU-delayed freeing entirely for the non-PV case. > > So right now my "tlb-fixes" branch looks like this: > > x86/mm/tlb: Revert the recent lazy TLB patches > * mm: move tlb_table_flush to tlb_flush_mmu_free > * mm/tlb: Remove tlb_remove_table() non-concurrent condition > * mm/tlb, x86/mm: Support invalidating TLB caches for RCU_TABLE_FREE > mm: mmu_notifier fix for tlb_end_vma > x86/mm: Only use tlb_remove_table() for paravirt > > where the three starred patches are marked for stable. > > The initial revert is for this merge window only, and the two last > patches are cleanups and fixes but shouldn't matter for correctness in > stable. > > PeterZ - your "mm/tlb, x86/mm: Support invalidating TLB caches for > RCU_TABLE_FREE" patch looks exactly the same, but it now no longer has > the split of tlb_flush_mmu_tlbonly(), since with Nick's patch to move > the call to tlb_table_flush(tlb) into tlb_flush_mmu_free, there's no > need for the separate double-underscore version. > > I hope nothing I did screwed things up. It all looks sane to me. > Famous last words. > > I'll do a few more test builds and boots, but I think I'm going to > merge it in this cleaned-up and re-ordered form. I think the end result looks okay, modulo my build screw up -- at least the generic code. Thanks for putting it together. Thanks, Nick