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 E349FE77199 for ; Mon, 6 Jan 2025 14:48:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 75F0F6B0096; Mon, 6 Jan 2025 09:48:17 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 6E7F16B0098; Mon, 6 Jan 2025 09:48:17 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 588266B0099; Mon, 6 Jan 2025 09:48:17 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 372D96B0096 for ; Mon, 6 Jan 2025 09:48:17 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id D787812155F for ; Mon, 6 Jan 2025 14:48:16 +0000 (UTC) X-FDA: 82977307392.16.B07C544 Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73]) by imf13.hostedemail.com (Postfix) with ESMTP id 2305B20006 for ; Mon, 6 Jan 2025 14:48:14 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=Y7IB1t7j; spf=pass (imf13.hostedemail.com: domain of 3Le17ZwsKCDoWYganhaupjcckkcha.Ykihejqt-iigrWYg.knc@flex--ackerleytng.bounces.google.com designates 209.85.216.73 as permitted sender) smtp.mailfrom=3Le17ZwsKCDoWYganhaupjcckkcha.Ykihejqt-iigrWYg.knc@flex--ackerleytng.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736174895; a=rsa-sha256; cv=none; b=T6cNHaiVHBF9r7v7zAQtGiawt6zo/NbkKIazUYZJO2oODoKvfTRabCgjCWIgziZ5wV6l/e PD/YjsO0Hcc9WJPkMsOvlGQu4RSvbGM/ue2sL9EzCEYSnY4liLSqaE9zAvDcLNh8Z+T1Oc 6B/YjDCEOssx/vDqVFQQLoo2dtjwtbY= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=Y7IB1t7j; spf=pass (imf13.hostedemail.com: domain of 3Le17ZwsKCDoWYganhaupjcckkcha.Ykihejqt-iigrWYg.knc@flex--ackerleytng.bounces.google.com designates 209.85.216.73 as permitted sender) smtp.mailfrom=3Le17ZwsKCDoWYganhaupjcckkcha.Ykihejqt-iigrWYg.knc@flex--ackerleytng.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1736174895; 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:dkim-signature; bh=Ke8uVppptY2MOt7pG36E0z4Uz4tqJsCG9hU95Nn9QHU=; b=AojaX5R/WgCqqfttGEMb1nMc+4TbcDTV50a431f/c3KK1WmgQZPSw0tpgQIOKY4KtPGj1N S6hMW0D5OVR80z/FLrcX0tfIjRcc03DPtnyTTLy4lRDGt18U1EgVY3oSVifTgqtQTlhbEY Kpfs2npk1R0pxaDnLY+BlrBJJXPpAWs= Received: by mail-pj1-f73.google.com with SMTP id 98e67ed59e1d1-2ef6ef86607so19846905a91.0 for ; Mon, 06 Jan 2025 06:48:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1736174894; x=1736779694; darn=kvack.org; h=cc:to:from:subject:message-id:mime-version:in-reply-to:date:from:to :cc:subject:date:message-id:reply-to; bh=Ke8uVppptY2MOt7pG36E0z4Uz4tqJsCG9hU95Nn9QHU=; b=Y7IB1t7jjieoLAFZZIthXCng42hCYekww+B/0AD09K1bJmW0SQCf2Mu1n6cVXc+AlJ 6B2BrKcHFA8FqECjPanUPtn/uXLpm3bKEHdGb5xTfAdIHjQ01tQ4pSGrkHdfx5TH7528 9sDBlKdWgzuD2oh60B5epLchIQ/Zk/vXaordg5A2sTxGZA12NYj7cJESUob0hF1Nis03 8ggssYXCxi7euXkIxGu/88BnWAVEL7/UM6sMA3YgKFyz7837nORXuGKr8j3sw/2/NUWQ srphUZg/tE6IRITb07x4v0ulbwtyh004gpBekGlzxfMXBjbW1AAhgYLtvNdTMRzf9RNT 8nxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736174894; x=1736779694; h=cc:to:from:subject:message-id:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Ke8uVppptY2MOt7pG36E0z4Uz4tqJsCG9hU95Nn9QHU=; b=KdivhmaWnWFNyiOQBI4WXGno6KOSftfJVCJYcosnTutj8/TJ947zt80V8cXDrAlUfA BXXcGcrazQZ2SSTbbkc2+LOi4ZBukJNkBMPbj+EmFxlfbKaA2JdnpGd3dc+/lojGvIcQ pZULQqaCKY+MsuA4jk5Veo7S/6nul6WMAnCVJ1hR1/ORerGbrbNnr1CLlmeEWK8hx9Va 7jlij24Upihblf1gn5UxWMks7tUmIf0Q2O0XyCFSbgtf5SUSGuC6QgQfzOqYE+1esGJl Ze9Ydz0iHdHUYafau5zqzdpP5EgE91gsyAScXYtDNGSKmLKjcIN+qY62qZIjPDycYsZA N1/Q== X-Forwarded-Encrypted: i=1; AJvYcCWjIfK9M7hMtuKZcvAgMj7/NdAMO0YyQ9kO8ZVdBD93lPn2Nq+ko/uFzqIPRJ+E9dKnyXnEToBLVQ==@kvack.org X-Gm-Message-State: AOJu0Yzv8QUUUF1hhBhSNScn50GTvqGdzVGSyT/UdkNmlRRAOzFJXlKF KQwFZ952dyfjmLyv7ms3oYnb2Ko6vbH1B8LFIJuZPBR5ZVzvwcvSYJzHYPR3LFKg5D/MiBm4vBS pNa/B7K1l81DqxjxaY5Wirg== X-Google-Smtp-Source: AGHT+IE3URkXgEjN0yB/+uLqvfcZ3vLVzWvGm8LFGBGtPRgPCRwZ0+NIGL9DJ4h1v0Ui1iS87YlI+rbYcsTUYPBuMQ== X-Received: from pjbsn7.prod.google.com ([2002:a17:90b:2e87:b0:2e2:9021:cf53]) (user=ackerleytng job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:4d08:b0:2ee:823e:39c4 with SMTP id 98e67ed59e1d1-2f45363734emr96196196a91.7.1736174893918; Mon, 06 Jan 2025 06:48:13 -0800 (PST) Date: Mon, 06 Jan 2025 14:48:12 +0000 In-Reply-To: (message from Peter Xu on Fri, 3 Jan 2025 11:37:49 -0500) Mime-Version: 1.0 Message-ID: Subject: Re: [PATCH 4/7] mm/hugetlb: Clean up map/global resv accounting when allocate From: Ackerley Tng To: Peter Xu Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, riel@surriel.com, leitao@debian.org, akpm@linux-foundation.org, muchun.song@linux.dev, osalvador@suse.de, roman.gushchin@linux.dev, nao.horiguchi@gmail.com Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 2305B20006 X-Stat-Signature: 7d17oit9tkotpiukf6bf4mpsdykbbo5f X-Rspam-User: X-Rspamd-Server: rspam09 X-HE-Tag: 1736174894-904098 X-HE-Meta: U2FsdGVkX19SdHVmfhLv/MtrAUmuegEHjgCM4ekyIhjEvoPgdFQxXFynePDTRekrkcrwrMzIznoUg3BuO50K1EuApMbkvXzWfVMBVL1wY6bgKnbUBcEEvohXbu8ubCzHMD/J4301dzKrJZ++ui3oS99OU893/ks2MctwMztuMF9NOiCCxpxCWvrrqb+RmLbUPUKrV4oupqDmX8fSuHMvM5b4xX+64/efeVjWqzwJN32wGpCrjYLS/N6Zkr2bPsZm8dquwCGUo3Uxmhp/xw7YOgwN+gQeJAV0P7a7CwHoqOjQprcTQBcbHzGP1tttMEqjiuUgvBv6JYp05bBWrv/QbTSc/CsCunW3LHmPNS4KRLUH6D+pWfE88wRsy+heOV/g6LmMnIj5HeDs8P16Pwf8xawFbzu1nawhHnjl+SWT1WNHbBkHuOBSclfQGi7r/j3Ur38HRHVFVh60PZZT9j1hCZjgvbLXYWSVrzf2UDi1r4F9e4UEzxqeBDSdsJQped7LTRhTWri9kn8Dd33KRgI6YfZpCx5DrSJnB79RPYttql2983SXB8tXIGeYVE0sfnm8OFEl67W3SqkrfHbYGB0IWhjnjIOlkaOONJJjU1+x7AH6TpvKV70TTSZ0Sdtaq5EGmA26ehFKvbRvtRTIXfO1/tToKylxts9W6i8GZCG9FqCHahRl7Et2oD3YincNprA6NS3EyaoH/jEch7AP1DaCuusCoahK3jruS4vUwjlOSh+YiNDd3RiHIhVcIVLLkSakSscPm7g58Se3mrdq1Dqc7j/RBuT1OwxiQ//Z6wyp6V4FCBRaWGRx9ZhsszvE+VuBH/TCkugSON5AuymZuJsIslqPSN1yuVqWgmxr5EHSAX9nhES+v4yjb5aH1LQfpjpkKUv1K0UWUb2YZxzCAm+DwDitL0avtEcPrODR362sylVhJF7W/1wae+eCm51J6pAB165WFyw+9dSBlH+uNZ3 YsKy40GE vHup3NC74u8IH78LVKk7x7vIUJCkkLVp8V5pzweNyisdK1LifMxLK43XFlPk34E1Z/oOrYlpGXbZLMDFxohVzHP2N2u3291/54OAgdptyWr619ZS1SQe4ODbhhiquf+T2R1x42gr9+Uaf/g2GgucoyPbmPIPFQLxfSF8Dg2ZtQrAnQr3l/BtTUT94OMXTFqP22PDgtBlllLYSzCqKSk+maJC3Gu57LCU0SlpEQZi4DBkzBhe4USuwWlgDthMHK8CqxSmTI9ZnhHtiQXS7/WDyyn/mkB+Ym+/cbfER/9aUOCWbF6gyls5EEjfZDUH9XGO0NGH3fcHvALoFrNz4HBha5LHy4fWVmEVM5M6jevNd7jurayb9FRw0s77XHABJGeDfkY1Ykg7oXEAazrSwHCRgNYxHixXiIG1LmPnraNsDU/FUB+EKfXDONGVBO/CuBzhOCwsCCEsllsJktuYFkk3HLbQAXbKj0ItytsmnazRYpGd9EoAZOxMul45WEISPNgKgmtdmSqX8d5MrmHCSDTYCxLb9Zj2s1d8wnqckZgfcduhwPEdTO71MP8kG0n/s8LD7RHvYZLaHlDuEzdHOZEYzHxSJ1E9WY/XoLQHCSImCPy45zMogqn+Vkbct3qmxIrFViEadjzQx9U3sdMk= X-Bogosity: Ham, tests=bogofilter, spamicity=0.001813, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Peter Xu writes: > On Sat, Dec 28, 2024 at 12:06:34AM +0000, Ackerley Tng wrote: >> > >> > - /* If this allocation is not consuming a reservation, charge it now. >> > + /* >> > + * If this allocation is not consuming a per-vma reservation, >> > + * charge the hugetlb cgroup now. >> > */ >> > - deferred_reserve = map_chg || cow_from_owner; >> > - if (deferred_reserve) { >> > + if (map_chg) { >> > ret = hugetlb_cgroup_charge_cgroup_rsvd( >> > idx, pages_per_huge_page(h), &h_cg); >> >> Should hugetlb_cgroup_charge_cgroup_rsvd() be called when map_chg == MAP_CHG_ENFORCED? > > This looks like a pretty niche use case, though I would say yes. > > I don't think I take a lot of consideration here when drafting the patch, > as the change here should have kept the old behavior: map_chg grows into > the tristate so that we can drop deferred_reserve, OTOH nothing should > change from such behavior of cgroup charging. > > When it happens, it means the owner process CoWed a private hugetlb folio > which will enforce bypassing the vma reservation. Here bypassing the vma > check makes sense to me, because the new to-be-cowed folio X will replace > another folio Y, which should have consumed the private vma resv at this > specific index. So there's no way the to-be-cowed folio X can have anything > to do with the vma reservation.. > > Besides the vma reservation, I don't see why this folio allocation needs to > be any more special. IOW, it should still go through all rest checks and > fail the process properly if the check fails, that should include any form > of cgroups (either hugetlb or memcg), IMHO. > > Do you have any specific thought on this path? I re-read the code, and I hope this understanding is right: When a user sets "rsvd.max_usage_in_bytes" to X, the user is saying that within this cgroup, the maximum memory that can be reserved in the vma reservation is X. Hence even when this CoW is performed, this should count towards the cgroup's "rsvd.max_usage_in_bytes" and so yes, it should be charged. I think I misunderstood the context on cgroup charging earlier and hence I thought it shouldn't be charged, but I agree with you after re-reading. > > Thanks,