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 D7AD5C71143 for ; Wed, 28 Aug 2024 21:02:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7182C6B0083; Wed, 28 Aug 2024 17:02:56 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6C7BE6B0088; Wed, 28 Aug 2024 17:02:56 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 58F606B0089; Wed, 28 Aug 2024 17:02:56 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 3A0A46B0083 for ; Wed, 28 Aug 2024 17:02:56 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id D865880111 for ; Wed, 28 Aug 2024 21:02:55 +0000 (UTC) X-FDA: 82502878710.10.F2BDD1B Received: from mail-ej1-f49.google.com (mail-ej1-f49.google.com [209.85.218.49]) by imf21.hostedemail.com (Postfix) with ESMTP id 0C45E1C0009 for ; Wed, 28 Aug 2024 21:02:53 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=HoqMtr2g; spf=pass (imf21.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.218.49 as permitted sender) smtp.mailfrom=mjguzik@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724878885; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=pCaH1KaRawGByB0NtRqHaeIEYFf5awkEOY5yS4shy5k=; b=3Ohyaxy3Q7wz6mlEigMbsnaJl/Zu48TbPbSSzWIYhEAKeUMuiqQ2HpTDkgqN4CV8HDELbi bmEya7UkUxK1nH8ZoWOdGBOu/ewdUGDxCi/PBrqExTNlljfkHmA2UkdqOTSmokO8GuXyHB D23oBddROB00N6Fazu7pxexnDgmLTXM= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724878885; a=rsa-sha256; cv=none; b=f6sgK6aMt5uI13BtUYUcrmItHs6uSu+hiWdCMxPP3oXSAm2CexRfSwN3mhNz+tOqp3uNeu nBGZDd3Y8/IMw4IbL7p8PRWNwLm3UYPnYegac2uXUj009W9+kOUry9GYdeOdRvPtgvQGNS CUUiNs8GtMGv031E1l3MlfQT3xTjMw0= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=HoqMtr2g; spf=pass (imf21.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.218.49 as permitted sender) smtp.mailfrom=mjguzik@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-ej1-f49.google.com with SMTP id a640c23a62f3a-a8684c31c60so873776166b.3 for ; Wed, 28 Aug 2024 14:02:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1724878972; x=1725483772; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=pCaH1KaRawGByB0NtRqHaeIEYFf5awkEOY5yS4shy5k=; b=HoqMtr2gKiT9N8atBXfPN7HtkYB5aZn7mjWTr0G+Lxuh5UDJ9nradlJOUubqYMjPFo ipkEikaTUDEAHmBSXYvqUoT4sHbngkg49T8sa0NSTtdMSr7jM4u/fcKAL3HH2+t1xPyf spfIPlqNAZyN1sjwLeaED8Mg8MNWiHX/hq8Siu+Yek2ZO5/w8kF701tQ0x7THayOzGOx tKRh7rO+HUQaUdE00JPteuMqfR1yWZWZ53bG4HZN/T4T/6jCFPq8vvIs2EtSC4+4G2E9 so9tHq+5u6T9hWlBirSj1r18D6JsI8TcjM7y141cwqgTQTueN1AYP79iqVHilSZp2OU0 yReg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724878972; x=1725483772; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pCaH1KaRawGByB0NtRqHaeIEYFf5awkEOY5yS4shy5k=; b=k1YbAeVniuA39MaGhVGbopLwnZblcvYruhlt3zzd1M62ItnKXTE3U2eXqz7MaDRdzE qg8e05+ueYN200vLzwV5/E4RjrIGVdJ0hENqU5VMPBDqOCp7iCK/1flycN4AN7+g7R84 8qt5OvhiOyXtBGKNaClb0ONYGMUwuy2I3YEAtktln14NVSPxbJ21I1NHH2fRyWU+czA6 XyKetFnDp4dEqHA39b1qQj4zQ6nNQcViL8tYSKw/jYCGr2hK4Pj1dEo7AeHI3TmCKoCN tBtjm7mFnfB2aGRgxPvXwc2KBUIPfiDifUnCprRpa6YJ6rSjvXCnCmFN4WRMzqjHpQLG T8tQ== X-Forwarded-Encrypted: i=1; AJvYcCX85gYloykeLFxppClTb0wWqIjWD+89nLfYU75maooetD30UFUQ4GSxqjM7EADdKXTQDX1gCjt+Dw==@kvack.org X-Gm-Message-State: AOJu0YxuL6woRtu9tuhFauPH51H3T06BGqC5hriVy+Yz3VIFqMzVujAR 7nZG540j4bhs0fk5pQ7//4c3pCN2tg5k4t+0LF+IbYu4oD/IJclefnRvbk/s6CfWq1R+wicMNsp s3zV0U/5MqUuuZ+SNDaq5/URqA2s= X-Google-Smtp-Source: AGHT+IFhHK8zbeXAR3a4yCGVr6+EUruQt5vkVACUuRVky5v8fzuR+SJIDe3mMrBw7+3ZADyklUCu9NrrA7X2w/xWhEY= X-Received: by 2002:a17:907:3ea2:b0:a7a:cc10:667c with SMTP id a640c23a62f3a-a897f835ca1mr52551166b.16.1724878971928; Wed, 28 Aug 2024 14:02:51 -0700 (PDT) MIME-Version: 1.0 References: <20240828160704.1425767-1-mjguzik@gmail.com> <20240828124929.db332259c2afad1e9e545b1f@linux-foundation.org> <20240828134435.443d7f7ec65eba1db4436434@linux-foundation.org> In-Reply-To: <20240828134435.443d7f7ec65eba1db4436434@linux-foundation.org> From: Mateusz Guzik Date: Wed, 28 Aug 2024 23:02:39 +0200 Message-ID: Subject: Re: [PATCH] mm/hugetlb: sort out global lock annotations To: Andrew Morton Cc: muchun.song@linux.dev, dave@stgolabs.net, linux-kernel@vger.kernel.org, linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 0C45E1C0009 X-Stat-Signature: mk6jj969c3zje46ywz4u1tm45enwr6qz X-HE-Tag: 1724878973-554043 X-HE-Meta: U2FsdGVkX1+hZ+n0O/6zbqJ46SncDLGCXVVr1Y62hiO2B3XtXSaPHbt67FzZXUrrFMAHW2DGT8q5WH8+pWX6AmEn4JIpJpT2/aSGLlp0TvcTBP+A6HVCQwBIxviqgu97o7yiagSE6YMoGf7HT+VzfYob2dERkm5kGur+V0miy6FfKYP2QSMu0PnenR/RGWRouVameuvJ70loNgt8PdyMVInX+IBZMx00GNwQ0gb40hTHVwU4kMdeXF0c5jrgyRc6eXRQe7jr/OTUas5eOq3vYLDcj1KKDuvw7SyuYkJglV9HiKSi6dJeV/UI/Cl8XEnn13P1+xqeCQiMCL78AFukcYQ+4bWHw+Ra9yzz/CADSdd/kmpZVRbnvGZSw5pU9yUTjYYNIR4dIJZL9p7919VE1MJh3GI5v5L9gEzyewuRcQOG9C0sbsFpTaXMFHbGW6w8pkELf0qM6xt1YIvxZNKaZwh+GG/p92+2YZQJFauwVDk7zpPZ/Q/EpIWEjoCGDFZ9Cs50cucDL3PTyj8/6oB7SYDEgClyQgmz1rTK1DMxRhQjRs1EpYL+qE8dN7jWK3OtJha7tv1D+Py7pBNM5tJ/TceNN64yBkDEzQ5/kimzuIMpN1Q3qgVvSss4ofkvdz6kcJx6V9dTRk38NTfqj6bIYUd9IbD027buWNBJ+2hst0cgdcoDa1RYUm5ArbzKh676Pt2Ys95P65svEdHtM1pgRVfUTdzmZE1cw2tkgpLeEkgXXFJGMLoTPAxaAWu+ObKDiy6O/eiAXlW3PeotNE1719xi7i+eUKff5nR05/4XVz+CNwgPXKXf4RvnX+bY7GU7wH9auQBnZMV44/CWWpnQoPIGxgYC+4RS6ssUs3mwlbfaoTESsQIug6jQ1eenfxZZaqV/U4HfFb+09RBIdPpwHgw+PEVG4gLeP47ReNrFevB9U+9ZcFHr55NLyLgrXlgQnCAvYJwnpHH4856DiWu OsTaTIYT tW9HAu8A/SKQrsrQoixcjGTI3od+25YLNwp7ZQDyTjBJqW85qJ9MfoGxqf+jifJKjf/RdcaxkEsOOseSj4VWdjBubwv6/AQIrStaxZpA2AghWVKgbEQDQwRmEmwuEpvQzpFgK0kBrlLp5I0Gw92AGdaW2O3yvD3wOg+ZivGIBqPQk8tXX5hc2DGS4SEWzqd5LZM7IWRXUCMb77l8KdElP9WlNBxEXTC2Z4h2i0en5eIW5hU1fucf+bd8ijttr1lmQ0eZU/BrdHh0BwHIdtlLCfbbAzcASUNy9WHnIxms0I96gNQsn9m5ZKPpEZFcB7SzM0Li+Yvq1LabkcNvW/qGEwLr+7gYlnMCxyw2LMLbJugHPUOzFvqfrb2KxWMv4+KHbD6Dvv57th9JjhQclXhHp/dr+9w== 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 Wed, Aug 28, 2024 at 10:44=E2=80=AFPM Andrew Morton wrote: > > On Wed, 28 Aug 2024 22:13:49 +0200 Mateusz Guzik wrot= e: > > > > It's conventional (within MM, at least) to put the section thing at t= he > > > end of the definition, so tweak: > > > > > > --- a/mm/hugetlb.c~mm-hugetlb-sort-out-global-lock-annotations-fix > > > +++ a/mm/hugetlb.c > > > @@ -72,14 +72,14 @@ static unsigned int default_hugepages_in > > > * Protects updates to hugepage_freelists, hugepage_activelist, nr_h= uge_pages, > > > * free_huge_pages, and surplus_huge_pages. > > > */ > > > -__cacheline_aligned_in_smp DEFINE_SPINLOCK(hugetlb_lock); > > > +DEFINE_SPINLOCK(hugetlb_lock) __cacheline_aligned_in_smp; > > > > > > > I tried things in this order and this does not compile for me: > > In file included from ./arch/x86/include/asm/current.h:10, > > from ./arch/x86/include/asm/preempt.h:7, > > from ./include/linux/preempt.h:79, > > from ./include/linux/spinlock.h:56, > > from ./include/linux/mmzone.h:8, > > from ./include/linux/gfp.h:7, > > from ./include/linux/mm.h:7, > > from mm/hugetlb.c:8: > > ./include/linux/cache.h:80:3: error: expected =E2=80=98,=E2=80=99 or = =E2=80=98;=E2=80=99 before =E2=80=98__attribute__=E2=80=99 > > 80 | __attribute__((__aligned__(SMP_CACHE_BYTES), = \ > > | ^~~~~~~~~~~~~ > > ./include/linux/cache.h:86:36: note: in expansion of macro =E2=80=98__c= acheline_aligned=E2=80=99 > > 86 | #define __cacheline_aligned_in_smp __cacheline_aligned > > | ^~~~~~~~~~~~~~~~~~~ > > mm/hugetlb.c:75:31: note: in expansion of macro =E2=80=98__cacheline_al= igned_in_smp=E2=80=99 > > 75 | DEFINE_SPINLOCK(hugetlb_lock) __cacheline_aligned_in_smp; > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~ > > Well that's annoying. It's because DEFINE_SPINLOCK includes an initializ= er. > > --- a/mm/hugetlb.c~mm-hugetlb-sort-out-global-lock-annotations-fix-fix > +++ a/mm/hugetlb.c > @@ -72,7 +72,7 @@ static unsigned int default_hugepages_in > * Protects updates to hugepage_freelists, hugepage_activelist, nr_huge_= pages, > * free_huge_pages, and surplus_huge_pages. > */ > -DEFINE_SPINLOCK(hugetlb_lock) __cacheline_aligned_in_smp; > +spinlock_t hugetlb_lock __cacheline_aligned_in_smp =3D __SPIN_LOCK_UNLOC= KED(hugetlb_lock); > > /* > * Serializes faults on the same logical page. This is used to > _ > > We'd need a new DEFINE_SPINLOCK_ALIGNED() or something. > > Ho hum, I'll fix. that would be a nice addition so as is this triviality grew to 3 patches which I consider rather extreme, and the middle one breaks the build In the vfs land this would get squashed into one commit with a maintainer note that some tweaking was performed, which I would suggest here alternatively, given the trivial nature of the entire thing, if you add DEFINE_SPINLOCK_ALIGNED and do the annotation tweak, you may as well commit this as your own patch. I don't need any credit --=20 Mateusz Guzik