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 23DA9E77188 for ; Fri, 3 Jan 2025 16:38:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7F8936B0082; Fri, 3 Jan 2025 11:38:00 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7A87C6B0083; Fri, 3 Jan 2025 11:38:00 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6496C6B0088; Fri, 3 Jan 2025 11:38:00 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 487B96B0082 for ; Fri, 3 Jan 2025 11:38:00 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id BE508C0928 for ; Fri, 3 Jan 2025 16:37:59 +0000 (UTC) X-FDA: 82966695882.10.0B50725 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf21.hostedemail.com (Postfix) with ESMTP id 003F81C0006 for ; Fri, 3 Jan 2025 16:36:17 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Gvzv1vfz; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf21.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1735922229; a=rsa-sha256; cv=none; b=VPQyytc65HoB7wvOBIDI6staI/oqb7L0WWatDOgFMyTkYNaE9npftsXbBuJyc0WGbY9KD2 8CBa2D5QEpc8bbdVlGrhnXEpdfbB/iVAUCTj3cDpcagzRMZztVK2dquC/aHvdQwuguf3tg Y4mpynZx5KdigeBHPD3c9Zt4XXx0erI= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Gvzv1vfz; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf21.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1735922229; 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=+CIOk0SKDOqby+Jn+3I/Ho2LKRgj6h18fSE1SsAzIhI=; b=Gmyyz+inHi1Hs+S1q49aLkWd83AjToVa93zxz2kW9JYODZ0l9MJFSbPUp1+R8Sf6w9i39Q o3gA7rnJQ8h4ZJCXjCxdFgAgrcTyBkCAf8tVsZEnRHeAGHEdYc27cvr2ZmMclZb9qy46qQ YUJYFGn3OMZxP5g2pccqf/DHn/WrihQ= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1735922276; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=+CIOk0SKDOqby+Jn+3I/Ho2LKRgj6h18fSE1SsAzIhI=; b=Gvzv1vfzIcX1pvZkUao/XqvTxhOSIQVRjIFFEY1aWAaAkOEuGNDyWnE2XHDwXPHQyqlxXt 266UsSUj+Oc30SZGamGhnsnIAvQI2NIB26p/vklfvCm+1y7zbMIvxa5+C3H9prImGBLsCi bCYoNjkiGBNXRKb4h0r+mJQamrtqcr4= Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-562-1LTo3_X9MqyzcgxtEE2yvw-1; Fri, 03 Jan 2025 11:37:54 -0500 X-MC-Unique: 1LTo3_X9MqyzcgxtEE2yvw-1 X-Mimecast-MFC-AGG-ID: 1LTo3_X9MqyzcgxtEE2yvw Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-7b6e178d4f8so1034807485a.3 for ; Fri, 03 Jan 2025 08:37:54 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1735922273; x=1736527073; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=+CIOk0SKDOqby+Jn+3I/Ho2LKRgj6h18fSE1SsAzIhI=; b=TdLXIHpV5l4L42MPLmAECezbJs3xCbHbDEFPu9QzH05W7f3wBzCFwXAKqh3s9Um8op HWbXu27gykAZAmh503ikltGLGNlVdLSlmnmDkcpyVKTvllW8xIpMhZBWj+weqZgkK5pM L5hkKB34J4OYKz1HVH5c7aV10A08FxiQpOb7QR2NgOZSwZIxzm2Bqstje/JCGtJfnSZC LXYrOf2Q63asKpfR/nV7SmxnAwTMaJu9h/tH7ncPeSaKOgmoG234rIjlE6V3oAXJ16bX h+avH++cZB4h5mjauKoumqZAJZ3h4TaDi3byym/JeMq7yOKdy8kA7DWf8+cIq/mHMKge FNQw== X-Forwarded-Encrypted: i=1; AJvYcCXhkYhSOaB+zFIh+b65PL0/rszcfsZtZYztLFoJ390SkqHQmtELODHtsDdnGFcI9KZ6Mo/sebtSKw==@kvack.org X-Gm-Message-State: AOJu0YzWcZcqxSuK76ymiDUHs+v0ggRpGnBfgQiyAvtWCaCW65XFIqiV X7QE5Vy5SOqvttl0qwuLEIe6QkYRh1jQokqc0Ef4h/4NL1+qQLXxhYz3JofY/IA0yGNWC5s/cA1 ivdqmsXzZmTvdOEzfje9faznmQUjIlDmTdbAtM5dRvDy8D3jDdmPbtM8q X-Gm-Gg: ASbGncvPzqqJutDGROtWxJVi7TLuWXxToZvux72KCzd2gkHKsYqdAvkjvRkkRjUt288 NDat8d9oIQLXGxAOnQAm0OposBzglo4I2xlr07YljyY0WFZCBRvCkT54i9fB0b50SQcoHL2Zqxt 9BrqjccQeLyFmT2eO0nA8fXMOZIbCIcEdECLs46OmwIzp0fCFVNG3Cs6Lne328h1WqT+xJ7qneM gVrTLmn0YwWpB6mvKHFy/9OmekjQPB5ZIjEvnBeTFPD2Sw31U2XL7Axqjtbo5BgAwViL0bs90R7 RwAW7Gver6i78KJtDw== X-Received: by 2002:ac8:7f8e:0:b0:467:64ef:9da6 with SMTP id d75a77b69052e-46a4a8add95mr874932691cf.10.1735922273642; Fri, 03 Jan 2025 08:37:53 -0800 (PST) X-Google-Smtp-Source: AGHT+IHA5y2FvIGqXlk9gDK5qZ6WKEF3iu5/KrxHAWCeQRFH/n/5v7rH2QUgrJyE4xgXb0FKfk3VSQ== X-Received: by 2002:ac8:7f8e:0:b0:467:64ef:9da6 with SMTP id d75a77b69052e-46a4a8add95mr874932361cf.10.1735922273363; Fri, 03 Jan 2025 08:37:53 -0800 (PST) Received: from x1n (pool-99-254-114-190.cpe.net.cable.rogers.com. [99.254.114.190]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-46a3e6a60bfsm146416861cf.47.2025.01.03.08.37.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Jan 2025 08:37:52 -0800 (PST) Date: Fri, 3 Jan 2025 11:37:49 -0500 From: Peter Xu To: Ackerley Tng 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 Subject: Re: [PATCH 4/7] mm/hugetlb: Clean up map/global resv accounting when allocate Message-ID: References: <20241201212240.533824-5-peterx@redhat.com> MIME-Version: 1.0 In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: ViV2Lyjasm_uOraweYYEuMU9oj_Til1ktALYpb1HM_8_1735922274 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Stat-Signature: bp9xptdgih4uf7119oute15y5ak3pj5i X-Rspam-User: X-Rspamd-Queue-Id: 003F81C0006 X-Rspamd-Server: rspam08 X-HE-Tag: 1735922177-483296 X-HE-Meta: U2FsdGVkX1+PP83Ahrk0MtIn6sVZPXMFQZTXuawFUqcxC4jrY33iNMvzscyZjh5aOS2DMazvVAiUvXxt2Xn1ePfxpGwcLg8FcmZYfs4ynN48JWSWMp62dm2NNnfB95vlKTGq5wo0/b9LmpkCW1CDFum2sNJcE064nRe5a/ZHZh+YRQUMTf9fpugR4tUHXAqfHhhiQXHbIySaloBySfNJbAjq08BvbAZRIR2quZqCovGU4FGpqEw84Uc85NS/qpbYKQMBGJ00YdNXGk7h9xuTUdAcxAfNw+r2AxQgPrZXmsv4UoM2D891m2RQDrAUW9uNWzjEZtoGnT8H8i6bfmo7RnYKAJhTvYDd3/SuMBZiAAR6EJmzMi6Fn6wkPZFMG//U4XedRZhg5QHtvSI3emkr6DgLQagTvsIx76nfsbCQoa56k5m8843OFojlUiFT+V7J3SNiavZPbu30+ov+0aSJDobxlK7NGMQ5+DUxydOiCy6I6IQjF8mAbBDuJXMu0NndzyFWxMfGimXubRIw0O2WvtHzPTMHVUk8z29xmGPGPqUWFJwpYxJxLnkgybtRKfLP1pVEacp0NitzBF+uAKAyiDVBo+MQlMYuXcavx+cQBeoyHY1+tHiKQXzDwAa+OsdPppD445iyRJGoDArnOIV655XWET5gnlgSV/h3XCBgZe4rZH/I/BWx/ZLvDpreawvYp9QXpDUflf7XHp1H+YP0/ek0Ce4fl1s+sa5RQi+fYFJsvHsfZrFT9L1q06hwG0bCkqfJ9Fy1833PogMRMLOUNanDuDItVzcTX6gusJJA5axsxy3d3KtPDhRinW7BgN1rtzWzbzrNqO6/9zZcsvS1NYeRNJnhY6VU+bZ3ROBwEa/drUgYZ01X+z1w8OpUQaWO6EtiGo4talaCOwqvJqU/TcDY2MaGZMRfwM/c8x1ZhYnbkcyV4v6cH1eH4854JN2l+miVbWHZMwCnOFrh46a JId/nh3h f0yIeiR3GvUgvU9dVjTfOJ/LQYwJr1DZvy/DQugbVNYsvnJrBElRAUgGY9rGEnrRTzdps5KGYmAwwWkeYKpUYj1EhqEJbjT4ihdE//vw1Zidlkh+Br9FD3heOqfxoJ6qhhAKxFHpTtrv8FJj1sZ+6oQy/6659jB9arYsjuGCf8IzOeqR28IsndRFETyyHH57FGTavbFADzSJf1iNb+QaUH6pP+P7TcjJcimjVka3X5aAbqb2kVRIorFBOD/beZGJE5aFkJ7NcrvKXy8OrQIh9VM7GsUJ/XXbRsNcQmaOtO/O9fPkusMu0jFdTS872y+Jza5g/asfNDPDQMpIDx30kxCdS713I+MbjYdk0KlwMqWIDYmEfDHgltxBtCC8hWriM4DKjIgrfsJicwxNpVixffseUnteBlncz0f3a8EfKSDtoOHgyh88fX2FJju01PBBaHLIf X-Bogosity: Ham, tests=bogofilter, spamicity=0.000002, 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 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? Thanks, -- Peter Xu