From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id EF777C52D7C for ; Thu, 22 Aug 2024 19:21:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 85EC26B01AA; Thu, 22 Aug 2024 15:21:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 80ECB6B01B3; Thu, 22 Aug 2024 15:21:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6D69880049; Thu, 22 Aug 2024 15:21:49 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 489496B01AA for ; Thu, 22 Aug 2024 15:21:49 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id BAE8F140760 for ; Thu, 22 Aug 2024 19:21:48 +0000 (UTC) X-FDA: 82480851096.20.044792D Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf25.hostedemail.com (Postfix) with ESMTP id 89A60A001F for ; Thu, 22 Aug 2024 19:21:44 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=PtGPXCWI; spf=none (imf25.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724354465; a=rsa-sha256; cv=none; b=FE/Liw9DPdNkBl5uwQYjlmks3+klrGWRiwiBOJcDBeH25SWrkXnKLiwYl1VoswpLjjaO01 7uwBSwzOKhwVwwxgK2BYBermfsUaVRo1iCFMlgoYABPFWO3vZfcy2y/NSE9TYE30+gLlEd Au019V2eFrsyHv1BM8Dp9UprPb31zoM= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=PtGPXCWI; spf=none (imf25.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724354465; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=o+kzwnlrYPI986XZaYIi/iuBCYvOnpv7zBcQt10AKTg=; b=Hxhiy5u1egwo9gUnMPH4dRt2SgawrfxDe3ZfsoBSbYBB2yzg+PVYLddZdWFESH8OeXCBC9 LFTAWRs09Ol2r2VBHanNfVLhkjrHHjcnyZSzVzShxRa6GFkZS976OEkw0zRQPCOqGZzD8O 7th1LH3db36WXGtgF4Lv5d2Xk7E/lg4= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=o+kzwnlrYPI986XZaYIi/iuBCYvOnpv7zBcQt10AKTg=; b=PtGPXCWI/x1D3a2uxfwSgicySr OsK31hPjnji0GWIxsBHXRpB0bPAwDvFV+zzOGOZBFSVGfnz8NeQvYSLjCTA5D6aehd7JUjojmqHOM hGw+oF8fAz9ZE6GJb/f9Kw3sVu+3Du7q3Y0/P0OJIAL2HVQAGMskF47YdWb6wqDRcr08cyxgMH+24 /JRq+BjHL9Sk6YkkG/FO8KqL0o28GpeIcjCjFAgbHuE1XyecSjmGmCy2dzxqPaI0y7ePAmKsLveBI kUu70pwqW8z2qE5YM2e/oW0cvb4tDNU0Gjc8nfCLTHhRLLwm/mfEPEPbXyQ7nqhIq3iPLMf+Ap+fu awcASOIw==; Received: from willy by casper.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1shDNM-0000000Aqzc-3DXZ; Thu, 22 Aug 2024 19:21:40 +0000 Date: Thu, 22 Aug 2024 20:21:40 +0100 From: Matthew Wilcox To: Mark Brown Cc: "Liam R. Howlett" , Cristian Ciocaltea , maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/5] maple_tree: Allow external locks to be configured with their map Message-ID: References: <20240822-b4-regmap-maple-nolock-v1-0-d5e6dbae3396@kernel.org> <20240822-b4-regmap-maple-nolock-v1-1-d5e6dbae3396@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240822-b4-regmap-maple-nolock-v1-1-d5e6dbae3396@kernel.org> X-Stat-Signature: 6spr5j86fk7djxykoaymbetrr66s5p3a X-Rspamd-Queue-Id: 89A60A001F X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1724354504-532270 X-HE-Meta: U2FsdGVkX196SuDxF1q69N8coCewOHIv957Ey+/QCanIU+4uWaXkiWwfJzKfuNrUB/EHnZKXIFnQs+jWGg4kAn0DE4QKK5sgAGPC+xo3U3ua0H7GBAniuftm09dP6A9UccSjc2nnlV0p4ZWzmL+G/dCxwAnfQNzCLTSlHUwk7LXVdp0RizFWAIbiCh1WPrKfcB1BsCn0Tl0mCdEhqto5cdX3PehjimYZe5YKvU5GmliwNUf+3S4Cj7CqjEj/+uivsXO3vm+L6VCheQaRRY3xXZpLbgBiAdOdgX2U6VzAqOJJZWqFooL3+Wwg4RXKh8Uv/XazXVxgN3fCz1v50UCIv9SeIk7HC3rwjm7RDmHfXpeSWQLz3uXENUnSfey7RfiOQZEnbiLIpfvvJR/8hOqq8RLTsLQXaH+vankaLsKDJgz+9y7nohZ/kIoCd/9HCMrYe/xLCwfI0paIKu2NgHVG/d2X6Tv4NwxqrM+1knd0M1fXAca4Ku+BlJ649huAtxEUW7M3Pen3pVJ7Somq2ceiB0+ceyoyxAG/4wDQVABtVWveMI+d2pbKuqmKXkB8SGsddQvO0n/u2cuV/seQIdSX5kg95ROQMFrjPRrC79h85r5hVKdbjcHSTqAGmqie+z3pQDoDJocyFtA1JW26pFSS03q/BI5fTGgJ+Pjb8/KFjyc+3wgokHVvA5s5d5YCrYDbpqAdRsZtMPVTkLAK4YoXypyIN/VlbaTP8++8DIQkO+ts0SRrKxUqaoCUNcMacvoOAUXclZ2lsJE1Ga/abFY+gO5kU8Lc0r3dw/ao38p23BE82ubwlpsijiGWr5rAj73BbOVgJBd/j2Nn8B93benv77wEhEZQyCdFI4ABu/ZuXuY1qws4U5sasepmmWFXir2Mv4ktbCfLAMWeUydbNLFgi7+voM2drSpwXxYa91OZz/1SD73eipQ6Sk6iP1GNWb6KzkF4mZZTVU8Mq4nYAsx 2Tqt3Vsz APnPmOIwFVJlMjsFBgnzXHYTghq8CeYwiaY6cgBWMyBGdUQvq2KoHbo09+GU50UGBMX6bmeG1gnatC9v0//nUYw3cQ7hYq9XJdq9o6UCqwZlmje3KmYE4h+nqO4K0i2b7SheTzs3DbNWrnlhMZN5K2ks350Jih6dUV4UIIP2ZcgEA72IaNxR2iTtV63RRHnqhueR/5fuOAdUkT3Djod/AReCliC++Wj8pnbBhHR06AvzuiSaL1DuFJFWZhLIB+JKgRsmycseoK7Fcm4xZXjiQLYi+enGxpqtz1D/sHFYkcCz//wwn9XawtmyihREe5OsYYdpLhNZw3BdxiDV4RO75xmY9ZKzTzyit/EG7gj30mHuO1Z6ebkSICIHefA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Thu, Aug 22, 2024 at 08:13:35PM +0100, Mark Brown wrote: > Currently the maple tree code allows external locks to be configured by > passing the lock itself. This is generally helpful and convenient but is No, it's a really bad idea. Stop doing it. Use the internal lock. It's a temporary hack we put in and I'm really regretting allowing it. > not ideal for situations like the regmap maple tree cache where we support > configurable locking at the regmap level and don't have the lock type when > we are configuring the maple tree. Add a helper that allows us to pass the > dep map directly to help with these situations. Since such code is already > peering at the lockdep internals enough to be looking at the map no stub > is provided. > > Signed-off-by: Mark Brown > --- > include/linux/maple_tree.h | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/include/linux/maple_tree.h b/include/linux/maple_tree.h > index a53ad4dabd7e..bdc6b133abdc 100644 > --- a/include/linux/maple_tree.h > +++ b/include/linux/maple_tree.h > @@ -193,6 +193,9 @@ typedef struct lockdep_map *lockdep_map_p; > #define mt_set_external_lock(mt, lock) \ > (mt)->ma_external_lock = &(lock)->dep_map > > +#define mt_set_external_lock_dep_map(mt, dep_map) \ > + (mt)->ma_external_lock = dep_map > + > #define mt_on_stack(mt) (mt).ma_external_lock = NULL > #else > typedef struct { /* nothing */ } lockdep_map_p; > > -- > 2.39.2 > > > -- > maple-tree mailing list > maple-tree@lists.infradead.org > https://lists.infradead.org/mailman/listinfo/maple-tree