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 C8A76CD4846 for ; Fri, 22 Sep 2023 16:57:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6AACD6B02EC; Fri, 22 Sep 2023 12:57:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 659756B02ED; Fri, 22 Sep 2023 12:57:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5490B6B02EE; Fri, 22 Sep 2023 12:57:21 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 43A326B02EC for ; Fri, 22 Sep 2023 12:57:21 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 06F38140257 for ; Fri, 22 Sep 2023 16:57:20 +0000 (UTC) X-FDA: 81264839082.22.3726AD4 Received: from shelob.surriel.com (shelob.surriel.com [96.67.55.147]) by imf15.hostedemail.com (Postfix) with ESMTP id 4E8B4A002D for ; Fri, 22 Sep 2023 16:57:17 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=none; dmarc=none; spf=none (imf15.hostedemail.com: domain of riel@shelob.surriel.com has no SPF policy when checking 96.67.55.147) smtp.mailfrom=riel@shelob.surriel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1695401839; h=from:from:sender: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; bh=6V/2f/PC9cJ4zQ/C+JVm8PS+gayMYcBXRa5/312LNb0=; b=aQE5DZSnOt8afs6elZJEdTJkYaOqSMPT2DPWODO1BuUAGM+PggJjasSO4g96Ig5hFzUJ34 jz5lc+hHiWT/YpNZa2w5oqoBYxsO93doIwXkyh7DPHpOor+JVafOrpXkZePZId4dg0PXF1 EP5g2gNp6e6/sKm+BJ9bP1ft+QogagM= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=none; dmarc=none; spf=none (imf15.hostedemail.com: domain of riel@shelob.surriel.com has no SPF policy when checking 96.67.55.147) smtp.mailfrom=riel@shelob.surriel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1695401839; a=rsa-sha256; cv=none; b=SHKgXPhTl+wksIae5TXOqNopNCH3oAsRlhdtvr+LVtnSb5b61jBzbb6KS/qv7sAffuXd0T DLWQrDGems4qtuLMN3fwI2zLhaImeqi7HMLpQCg0KzRb7JShQKbCfxPRl6mZXxkFyYXwBx PHdvINpsbMOT8Xf1OZUWpukH895R3QE= Received: from imladris.home.surriel.com ([10.0.13.28] helo=imladris.surriel.com) by shelob.surriel.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1qjjSa-00017W-09; Fri, 22 Sep 2023 12:56:56 -0400 Message-ID: Subject: Re: [PATCH 1/2] hugetlbfs: extend hugetlb_vma_lock to private VMAs From: Rik van Riel To: Mike Kravetz Cc: linux-kernel@vger.kernel.org, kernel-team@meta.com, linux-mm@kvack.org, akpm@linux-foundation.org, muchun.song@linux.dev, leit@meta.com Date: Fri, 22 Sep 2023 12:56:55 -0400 In-Reply-To: <20230922164408.GA224968@monkey> References: <20230920021811.3095089-1-riel@surriel.com> <20230920021811.3095089-2-riel@surriel.com> <20230921224201.GB21193@monkey> <20230922164408.GA224968@monkey> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) MIME-Version: 1.0 X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 4E8B4A002D X-Stat-Signature: squwf4e15eb5ukesrh3anwemhujgnhyy X-Rspam-User: X-HE-Tag: 1695401837-836233 X-HE-Meta: U2FsdGVkX18KqebeZf7d16sJ5vXmgt0lsZP0g+j10nF/QgWikQTfwbX0e5Pyg4ucCBY7PoQiBxpddgIbxSeRgUBXJJhrLNpEPSq67hrWhuEeRAfFwHwmBrLW66X/G61M+XPNDVWKt9BeuGrQZZBxkpbpRmgqoxID6Mde2NX284R5FCU56WqkQk+0bJVUc9tUE4dNxdr2Foq26vxAzIrVHlltfSBL9cxRXy4h5sLMqoZzGhhdKa8+fKDLamTdxFWS+YarAOHNL3cPxyn7aZpGMYVuSky/nrFE0uR7m2XA/oxVp18HLWT2sYejzBlCVnpW37yxo80MNuG5yY/c1WCkWq7FvTSjh5PuUbb3PfhpwALVrsUDihTLNONeb73APdRoPbuZ6CRsllihHAuZuI7FS2dhho7fgzolxYaiWc9shI/sY8bIRnzhb8Nle6BhIFscuAyU8zIArElwXgNLSP1VJCiJGNiUInDhfsWdZjELuqGTb+rAFU6YuofoaITKnyhb0oZ2VdJrLtkXloPjPc9RWY2Tqap3v3q+56YsRBQ1ZGVXAPD2+KOWkIQ/jsDdTMOCow/lapeUKeTK/YVDslkmYF17w6ngqPJ2VJv7iBDAhzRXepTZwIl7jjt44N8oE+7pmb9zUs5y4bQ69XXYX2DCJ0/xs22E5tBOpahm9fPkvP8VlFevKXUhSRcMvbMNBA6Xghb/UjqX+I0F6EiP6BsTUCms4s5tmLhEJZQLf+dU71fTyLxmPmvptJJTq9CdeB+RwShIe5sVyUDVPjN9dJO8VRjlH3V6UcTnz5VlFxEiv6mjYGsD7jKalsy6piWtKvchfSzZd8743jaEmbAbTBY4UXe9NIrbBfJBH6O4IH0P5ss2MwmlbnbwJxERimDBoL7PhPh0KhN5zAF6SlAJKRaRX1CBpYwMmr9n1dYosvb5aKI9+m2M4M2aqSJ9Gz135FNFP+/WjPQOQ3aFYd8DvDU TlqNmJGv uI9QE6zk7wZaQk+QxIQ5ubBakHoi6xUmCc8ZLsljAA/9TB9N8TqrYDjhiX2wRB/wzGUCl+VVowriOkI+jzu9L18Lr9WcPQw/+K9a8lTTsjLCrVV2ru2EYZrSMt5BdteafNi3znT/FfW5l6M+Wgkl5/ddjXOoAu2rZB+qhoN52gL7QqAtyUO3JaPTrm0O4OFpwDvesDkN+hnHAWhVLuBAWLSbHAFwQ7cSIyENnZ0BYTQMPc4VryXjxnAB75b8/DVjMzjjWe5tc0ox6aiYYyiVD2r8/t7ZN3fHph21j 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: On Fri, 2023-09-22 at 09:44 -0700, Mike Kravetz wrote: >=20 > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > index f906c5fa4d09..8f3d5895fffc 100644 > --- a/mm/hugetlb.c > +++ b/mm/hugetlb.c > @@ -372,6 +372,11 @@ static void > __hugetlb_vma_unlock_write_free(struct vm_area_struct *vma) > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0struct hugetlb_vma_lock *vma_lock =3D vma- > >vm_private_data; > =C2=A0 > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0__hugetlb_vma_unlock_write_put(vma_lock); > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0} else if (__vma_private_lock(= vma)) { > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0struct resv_map *resv_map =3D vma_resv_map(vma); > + > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0/* no free for anon vmas, but still need to unlock */ > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0up_write(&resv_map->rw_sema); > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0} > =C2=A0} >=20 Nice catch. I'll add that. I was still trying to reproduce the bug here. The libhugetlbfs code compiles with the offending bits commented out, but the misaligned_offset test wasn't causing trouble on my test VM here. Given the potential negative impact of moving from a per-VMA lock to a per-backing-address_space lock, I'll keep the 3 patches separate, and in the order they are in now. Let me go spin and test v2. --=20 All Rights Reversed.