Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751300AbdLNJT2 (ORCPT ); Thu, 14 Dec 2017 04:19:28 -0500 Received: from mail-it0-f52.google.com ([209.85.214.52]:44363 "EHLO mail-it0-f52.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750795AbdLNJTY (ORCPT ); Thu, 14 Dec 2017 04:19:24 -0500 X-Google-Smtp-Source: ACJfBosnsQUQAgysuKcacaU0JoChWf0LOjg4dwtxf6kIHCxPqYQe7juZUE3TchUi6VG+/g4dyg0hkQ== Date: Thu, 14 Dec 2017 01:19:20 -0800 (PST) From: David Rientjes X-X-Sender: rientjes@chino.kir.corp.google.com To: =?UTF-8?Q?Christian_K=C3=B6nig?= cc: Dimitri Sivanich , Andrew Morton , Michal Hocko , Andrea Arcangeli , Benjamin Herrenschmidt , Paul Mackerras , Oded Gabbay , Alex Deucher , David Airlie , Joerg Roedel , Doug Ledford , Jani Nikula , Mike Marciniszyn , Sean Hefty , Dimitri Sivanich , Boris Ostrovsky , =?UTF-8?Q?J=C3=A9r=C3=B4me_Glisse?= , Paolo Bonzini , =?UTF-8?Q?Radim_Kr=C4=8Dm=C3=A1=C5=99?= , linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [patch 1/2] mm, mmu_notifier: annotate mmu notifiers with blockable invalidate callbacks In-Reply-To: Message-ID: References: <20171212200542.GJ5848@hpe.com> User-Agent: Alpine 2.10 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="1113868975-822497440-1513243162=:260574" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1490 Lines: 39 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --1113868975-822497440-1513243162=:260574 Content-Type: TEXT/PLAIN; charset=UTF-8 Content-Transfer-Encoding: 8BIT On Wed, 13 Dec 2017, Christian König wrote: > > > > --- a/drivers/misc/sgi-gru/grutlbpurge.c > > > > +++ b/drivers/misc/sgi-gru/grutlbpurge.c > > > > @@ -298,6 +298,7 @@ struct gru_mm_struct > > > > *gru_register_mmu_notifier(void) > > > > return ERR_PTR(-ENOMEM); > > > > STAT(gms_alloc); > > > > spin_lock_init(&gms->ms_asid_lock); > > > > + gms->ms_notifier.flags = 0; > > > > gms->ms_notifier.ops = &gru_mmuops; > > > > atomic_set(&gms->ms_refcnt, 1); > > > > init_waitqueue_head(&gms->ms_wait_queue); > > > > diff --git a/drivers/xen/gntdev.c b/drivers/xen/gntdev.c > > > There is a kzalloc() just above this: > > > gms = kzalloc(sizeof(*gms), GFP_KERNEL); > > > > > > Is that not sufficient to clear the 'flags' field? > > > > > Absolutely, but whether it is better to explicitly document that the mmu > > notifier has cleared flags, i.e. there are no blockable callbacks, is > > another story. I can change it if preferred. > > Actually I would invert the new flag, in other words specify that an MMU > notifier will never sleep. > Very good idea, I'll do that. I'll also move the flags member to ops as Paolo suggested. Thanks both! --1113868975-822497440-1513243162=:260574--