Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp4653369ybl; Mon, 26 Aug 2019 13:49:17 -0700 (PDT) X-Google-Smtp-Source: APXvYqzf+FMBIiY3mwZlTCSjvPlcuOq5BTHfZZFEJsk2R86ahLLddIG54bvBxBLv0ym/aOgNAFgu X-Received: by 2002:a17:90b:289:: with SMTP id az9mr22282097pjb.5.1566852557295; Mon, 26 Aug 2019 13:49:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566852557; cv=none; d=google.com; s=arc-20160816; b=xFAnsEKHmIzSN6mWyJd33byg2mO4dhRc8U9ZDhUUSM7LsY5wsoT2+BAcrjG6wiOAaY tzMEh6opys2a0DhDrqND+sc+6+hmzFDv2djir/CnvQ50fop1hfxcYBCuUknybxY5XGVK dgxCsjsWgNpfS+G2HEHq6zMo2bqFDIJxhTZ+eCljCFO+QsW/yQ8vm/5D5CL6OnUCpge0 8ON5mxLfFnfQ5ONH819vxm7vL7375Gpjiz08JkyEWIPAeNye0udIscRQR6rGX1Kj7Owa /9I8NJvksMrc32sk3d/bZWpnzfjfjnQDOLuG4d5tRwAzvFTx306i+QERO0koFqQleJRf +/6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=43MMkU2nAs7jtnMnw+TAIk5AMkJWGIqIB3w6SHg2dOA=; b=xoaiHrBiTT2d7PcS50NAygda1mdrg1/lH03vjVcfnjiUhoYzs+yX+ILvIHkjPoy+X1 +92pJVq4o9puKeLc18iDAO2htl1PGyF6orGQNI3TbaVEN5G0v7oR1o38fsBG4P2b+Tv8 qxnspajkIMpBi1mrK4NsVf56SW7UVtXiUDN2Ne7xRQGg6QSBbEeumbcf0XwHYQtjdUJG h93U5NQcvIFpuuuhV5zTnV34URaQtJitdASMCVt6x/LXTcQExR9fSRNzPXINhfrau7KN xU+52VtLTg8urJQ1FK21VQ8SnYqYxj9cmQc34VmqtnZRTyMsiVIvs6E3Suu7TPjgNZdW vTOg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ffwll.ch header.s=google header.b="jWs+/c0l"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m186si6906570pfm.141.2019.08.26.13.49.02; Mon, 26 Aug 2019 13:49:17 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@ffwll.ch header.s=google header.b="jWs+/c0l"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388089AbfHZUO6 (ORCPT + 99 others); Mon, 26 Aug 2019 16:14:58 -0400 Received: from mail-ed1-f65.google.com ([209.85.208.65]:44235 "EHLO mail-ed1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732670AbfHZUOg (ORCPT ); Mon, 26 Aug 2019 16:14:36 -0400 Received: by mail-ed1-f65.google.com with SMTP id a21so28152545edt.11 for ; Mon, 26 Aug 2019 13:14:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=43MMkU2nAs7jtnMnw+TAIk5AMkJWGIqIB3w6SHg2dOA=; b=jWs+/c0l0gQqLqnonUguMXmcEgRnSUc9uFPRnBjVNs1Nfg/BKnOJH3T6iKhSC9eb6q dpAfCEkDXZ40OJ02lIV0O9i7OYhqlEmJrKDApByW1yfFG3TBOGtD29nnDadAmOX0w/3a ohtG4NM02aYnLMkZ4fScN1kWA5UKzPn2mVZA0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=43MMkU2nAs7jtnMnw+TAIk5AMkJWGIqIB3w6SHg2dOA=; b=RpoTu2+Nt+TItN7ERd2EdI2joAkobYi76cNXHFpb/5zpE2PERIUVDpDQrJ1zW1kw/8 saRxl8XqfuRixDlxWa2kbh15rNrHmYg+4ytcnwTbqCtML5IlX684429oMjK4JdNAgEgQ OXa+vgJWKHiSIylFWitW7J9Qs5UUDRg+Bao4KU3mn3jPxf6bfkFzgUSvaEH3CfJ3hR6t dLn+rzVGE4hNTVFiDS/1cOKfQdI8+j167KJ9FtAbjfOkNTZZ2C5+HzlAzfi6kn8WSwIv KL5Xg2mo4K6+X/aTGtmWcLudz6SeTVVv13lw+GkZJRo5Beek1NQ6wNbjxzRkuScbdIW5 1sXg== X-Gm-Message-State: APjAAAUAuKqeFfm65QQziHOUWK/x+PhX7jSMK9DeUL5nfYEF+oqa/hfp r5tX1GEruZbAeh9RerLorL/f2m4xsa3XYA== X-Received: by 2002:a50:d0cc:: with SMTP id g12mr19859322edf.201.1566850474445; Mon, 26 Aug 2019 13:14:34 -0700 (PDT) Received: from phenom.ffwll.local (212-51-149-96.fiber7.init7.net. [212.51.149.96]) by smtp.gmail.com with ESMTPSA id j25sm3000780ejb.49.2019.08.26.13.14.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Aug 2019 13:14:33 -0700 (PDT) From: Daniel Vetter To: LKML Cc: Linux MM , DRI Development , Daniel Vetter , Jason Gunthorpe , Chris Wilson , Andrew Morton , David Rientjes , =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= , Michal Hocko , =?UTF-8?q?Christian=20K=C3=B6nig?= , Greg Kroah-Hartman , Mike Rapoport , Jason Gunthorpe , Daniel Vetter Subject: [PATCH 2/5] mm, notifier: Prime lockdep Date: Mon, 26 Aug 2019 22:14:22 +0200 Message-Id: <20190826201425.17547-3-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20190826201425.17547-1-daniel.vetter@ffwll.ch> References: <20190826201425.17547-1-daniel.vetter@ffwll.ch> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org We want to teach lockdep that mmu notifiers can be called from direct reclaim paths, since on many CI systems load might never reach that level (e.g. when just running fuzzer or small functional tests). Motivated by a discussion with Jason. I've put the annotation into mmu_notifier_register since only when we have mmu notifiers registered is there any point in teaching lockdep about them. Also, we already have a kmalloc(, GFP_KERNEL), so this is safe. Cc: Jason Gunthorpe Cc: Chris Wilson Cc: Andrew Morton Cc: David Rientjes Cc: "Jérôme Glisse" Cc: Michal Hocko Cc: "Christian König" Cc: Greg Kroah-Hartman Cc: Daniel Vetter Cc: Mike Rapoport Cc: linux-mm@kvack.org Reviewed-by: Jason Gunthorpe Signed-off-by: Daniel Vetter --- mm/mmu_notifier.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/mm/mmu_notifier.c b/mm/mmu_notifier.c index d48d3b2abd68..0523555933c9 100644 --- a/mm/mmu_notifier.c +++ b/mm/mmu_notifier.c @@ -259,6 +259,13 @@ int __mmu_notifier_register(struct mmu_notifier *mn, struct mm_struct *mm) lockdep_assert_held_write(&mm->mmap_sem); BUG_ON(atomic_read(&mm->mm_users) <= 0); + if (IS_ENABLED(CONFIG_LOCKDEP)) { + fs_reclaim_acquire(GFP_KERNEL); + lock_map_acquire(&__mmu_notifier_invalidate_range_start_map); + lock_map_release(&__mmu_notifier_invalidate_range_start_map); + fs_reclaim_release(GFP_KERNEL); + } + mn->mm = mm; mn->users = 1; -- 2.23.0