Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751372AbdH3Vxl (ORCPT ); Wed, 30 Aug 2017 17:53:41 -0400 Received: from mail-io0-f182.google.com ([209.85.223.182]:36489 "EHLO mail-io0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750998AbdH3Vxk (ORCPT ); Wed, 30 Aug 2017 17:53:40 -0400 MIME-Version: 1.0 In-Reply-To: <20170830165250.GD13559@redhat.com> References: <20170829235447.10050-1-jglisse@redhat.com> <20170829235447.10050-3-jglisse@redhat.com> <20170830165250.GD13559@redhat.com> From: Linus Torvalds Date: Wed, 30 Aug 2017 14:53:38 -0700 X-Google-Sender-Auth: U6LSWOCPvcraxK-1OH_zGA4a8gw Message-ID: Subject: Re: [PATCH 02/13] mm/rmap: update to new mmu_notifier semantic To: Andrea Arcangeli Cc: =?UTF-8?B?SsOpcsO0bWUgR2xpc3Nl?= , Linux Kernel Mailing List , linux-mm , Dan Williams , Ross Zwisler , Bernhard Held , Adam Borowski , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Wanpeng Li , Paolo Bonzini , Takashi Iwai , Nadav Amit , Mike Galbraith , "Kirill A . Shutemov" , axie , Andrew Morton Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by nfs id v7ULrlb4009270 Content-Length: 1603 Lines: 39 On Wed, Aug 30, 2017 at 9:52 AM, Andrea Arcangeli wrote: > > I pointed out in earlier email ->invalidate_range can only be > implemented (as mutually exclusive alternative to > ->invalidate_range_start/end) by secondary MMUs that shares the very > same pagetables with the core linux VM of the primary MMU, and those > invalidate_range are already called by > __mmu_notifier_invalidate_range_end. I have to admit that I didn't notice that fact - that we are already in the situation that invalidate_range is called by by the rand_end() nofifier. I agree that that should simplify all the code, and means that we don't have to worry about the few cases that already implemented only the "invalidate_page()" and "invalidate_range()" cases. So I think that simplifies Jérôme's patch further - once you have put the range_start/end() cases around the inner loop, you can just drop the invalidate_page() things entirely. > So this conversion from invalidate_page to invalidate_range looks > superflous and the final mmu_notifier_invalidate_range_end should be > enough. Yes. I missed the fact that we already called range() from range_end(). That said, the double call shouldn't hurt correctness, and it's "closer" to old behavior for those people who only did the range/page ones, so I wonder if we can keep Jérôme's patch in its current state for 4.13. Because I still want to release 4.13 this weekend, despite this upheaval. Otherwise I'll have timing problems during the next merge window. Andrea, do you otherwise agree with the whole series as is? Linus