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 DC7C9C7112F for ; Wed, 28 Aug 2024 20:44:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3FB2B6B0082; Wed, 28 Aug 2024 16:44:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3AB336B0083; Wed, 28 Aug 2024 16:44:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 299EA6B0085; Wed, 28 Aug 2024 16:44:41 -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 0AAE76B0082 for ; Wed, 28 Aug 2024 16:44:41 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id ABFC4C0705 for ; Wed, 28 Aug 2024 20:44:40 +0000 (UTC) X-FDA: 82502832720.05.E170F85 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf06.hostedemail.com (Postfix) with ESMTP id 07589180004 for ; Wed, 28 Aug 2024 20:44:38 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=r6VWAOlb; dmarc=none; spf=pass (imf06.hostedemail.com: domain of akpm@linux-foundation.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724877858; a=rsa-sha256; cv=none; b=8m7qH6MkGc3jolMo60K95z862NVRl7nf+XNtQrjm7DQCV40UOj0FmMidP1f5FhogfuE5hM cUVeNSpjUx25alhFjFiCLqdPtgg6DwKvdg6CLoakQEuZ+hVOxGPJFRVej/2GbkPrBEilKw qBo4OPc+HZLYG9rjWAGEmYV8fcr2eek= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=r6VWAOlb; dmarc=none; spf=pass (imf06.hostedemail.com: domain of akpm@linux-foundation.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724877858; 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=y7aPPuOLo8QPiGMHSlT4o9iXjxcoPK+2ZyB2dr/XMLs=; b=qcG68v8tzlZsFn5jtNTerNlY6RVLyEm5wpbWYX0allu8b1XelL47WrES7TgsZSs0sIJFuE L1tYWxMfIjjCXH3nRC7wFE/ozv4gtUOqmniCJdYilkK92vCuihgYaVjl+Y49tnQ0fvSXCX Zv/jlIdco/FLoZ5oGWAFEBIaUPLc3OQ= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 2AEA8A43549; Wed, 28 Aug 2024 20:44:31 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 26A84C4CEC0; Wed, 28 Aug 2024 20:44:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1724877877; bh=e7XQvZ+MuNAj42+YJ2nOrwq1Pe5cILXmL1FaVf/3W14=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=r6VWAOlbGqku82EjBNHSGm9GgfIlS4gGTzzwjS5RihJ0dVO9v6WeKKfqsXSKxFBIu jNq7rIlxgLkYjbaf/aPYG8l2vqb0rocipxXOrNZXE2dH0MAWSSnd9J5VIVzA0stdM+ iszqTWFlzryrzrmugnoNR9HmCXTDokCOMnX8lhns= Date: Wed, 28 Aug 2024 13:44:35 -0700 From: Andrew Morton To: Mateusz Guzik Cc: muchun.song@linux.dev, dave@stgolabs.net, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH] mm/hugetlb: sort out global lock annotations Message-Id: <20240828134435.443d7f7ec65eba1db4436434@linux-foundation.org> In-Reply-To: References: <20240828160704.1425767-1-mjguzik@gmail.com> <20240828124929.db332259c2afad1e9e545b1f@linux-foundation.org> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Queue-Id: 07589180004 X-Rspamd-Server: rspam01 X-Stat-Signature: 6rbqjp4ogn5jqehrpkkj3cw9zkr38sz4 X-HE-Tag: 1724877878-406168 X-HE-Meta: U2FsdGVkX1+fdlenLzlZ3lbokPyN5QEBH7kCBCOcZgRmfwKVJTnTjv0TB4q8oMHccGX7fuROpxJp7ery3Oqjbzy+gYc6N1N48uOlet9Z2JqaDh+/WQ7NwFf59ioqCSfT+QqDW0Tdk2vddoXnH3WXoeQ+tgG0PIJ4JaRysTXX2pII2n4iCHYzcygCS7tkxbGTTNiyMpacyiMhjXvyukruGRHLt8ZDvPABf2jW1TonwPaQljzNBbNwupb2WYTWrF9GXSPHwiLswMR9KoplZiP7zb2zvFPxdUnXii/1eaHi8o6cHiBMM5gSqTIZ4tNLRCEop4cNgppgANnnz+U8iQ4k4hJXsXVdKunHhhy8z5qNBeDBtXXoI6hphOMkqq/w9t+/OYr3/WIeV27nO18LJwYarojfsdmUcc0rUniFNbAHLxIdlNs81aQ7cFGCAFpENF2Cva2plsmjRerPkiEtRjClB/Lmj4gpc2kTgcZuWkCj0VL0c+8t10cfDyhxczBPTKPLqlp6DJ70CO3HLbBIFFser7tFaB/o2gV8szqBHvb44ompg5EYt6jktAOF+R7LnNGCUXZDUs/MFdRnhp4EBa+oPYngK2PjZT16k322kumdgPMhr0wQl8ccrYScHJdBFyl9wag/OEqfMrHf1buek8Mvx5kFg+LOoR9ek0RxFJNCpoyxcA97n+CtR4QypuXvtXYWPZ5XhDrJnqNebHu3OiXr2SrOhE635JmMcGyvRWDqZns+5528C60SlQPRevawveBVMdbnIeR1Iq8cTumBLyjvZ/GOAIGesktcoBxIQMPtUc28bltQYr33YE2uFZSum6ZDxxV1Orei9nFfSOIVXta+eg7s+/ickFNZJjQ+2ryj7qo7e/PomExhbQQgDSpittJxQnRCxkqbXUr3tMttWfba9jswkNmikyIf0eJzL7MQD8UeiOOp6dFPXNa6stqj1cj8C7yFmUjp2WQwYaN/WIp M7kHqlkh 2VMTPwtC8ta8C3Ki1t1o6j2N9oJN4dyhqNz5qmppmIrJgsFB9BRu4pTH0tQ/16H/l1egvPpPXfXUPdt5Hpqy22OAKHGoYhrzhYOe7TlgIx/C1vuGudVl7PKg82Hi9wHvkMBPQZHQ8Vvbuh3h9Bobi2T5lId9EHZX3t9I45MEJXXgVIgO4IyDS/pNoZQFUzMjvO4QKF1tQi/xZU7pgG6jq6bZQ41n4vpJdzcN+vCTMy9WdAy/EQfUZ0dSo1zwPp3zGXKxNm6uFZ87Bhp7PLaJl37SWbzZlnO3qAdmVuD7JEgjkJ3k= 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, 28 Aug 2024 22:13:49 +0200 Mateusz Guzik wrote: > > It's conventional (within MM, at least) to put the section thing at the > > 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_huge_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 ‘,’ or ‘;’ before ‘__attribute__’ > 80 | __attribute__((__aligned__(SMP_CACHE_BYTES), \ > | ^~~~~~~~~~~~~ > ./include/linux/cache.h:86:36: note: in expansion of macro ‘__cacheline_aligned’ > 86 | #define __cacheline_aligned_in_smp __cacheline_aligned > | ^~~~~~~~~~~~~~~~~~~ > mm/hugetlb.c:75:31: note: in expansion of macro ‘__cacheline_aligned_in_smp’ > 75 | DEFINE_SPINLOCK(hugetlb_lock) __cacheline_aligned_in_smp; > | ^~~~~~~~~~~~~~~~~~~~~~~~~~ Well that's annoying. It's because DEFINE_SPINLOCK includes an initializer. --- 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 = __SPIN_LOCK_UNLOCKED(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.