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 83F13C3600C for ; Thu, 3 Apr 2025 14:03:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6EA98280003; Thu, 3 Apr 2025 10:03:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 69881280001; Thu, 3 Apr 2025 10:03:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 539F0280003; Thu, 3 Apr 2025 10:03:55 -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 345B4280001 for ; Thu, 3 Apr 2025 10:03:55 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 75ECB1CA676 for ; Thu, 3 Apr 2025 14:03:55 +0000 (UTC) X-FDA: 83292901230.07.F5C8202 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf14.hostedemail.com (Postfix) with ESMTP id 071AA100012 for ; Thu, 3 Apr 2025 14:03:52 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=NzTtz6Vw; spf=pass (imf14.hostedemail.com: domain of llong@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=llong@redhat.com; dmarc=pass (policy=quarantine) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1743689033; 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=SCSNaKfIQGFj62LxsLl56Qmm/lRsV/ZZkpDZXBMgObY=; b=am4luJxfbz1jxfu5cElFxXUlu/cTyICqOrlLgu6TjZkWsRpH5y+SdniWQF+h1WheL/Lvuz Jn2nSahd0cvZb72yD20c6sl+mCB36XIgOJKTxXK9fROk9uSzXfIE/2UUdRxF3z54ec7tfH aL2oJmmHYifWyGJqbCKYEwXBp1DQCpw= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1743689033; a=rsa-sha256; cv=none; b=11BJvIaFLK31A3ZM8m26meMu17h4ymGkwjSixn6qIPMv/Bk+y9yGqrdfXmaqTwHwwuF76w 3tozPP7vESdOHgFQfHhh7ByQb+z/vN3M23fse+EgZPF87tJNBvfZ4flkijUhz7aQx3fiRD GucfY4T8UcTYUJyrNY8iKUU9vV6boSU= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=NzTtz6Vw; spf=pass (imf14.hostedemail.com: domain of llong@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=llong@redhat.com; dmarc=pass (policy=quarantine) header.from=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1743689032; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=SCSNaKfIQGFj62LxsLl56Qmm/lRsV/ZZkpDZXBMgObY=; b=NzTtz6VwZL3RNMw2FKbEVJX3kSoT75J9F/PuKWZbhV9V7BgiVynx82yQkKtJ2A3RD9eozn waLG8rLMTlIpUPjf/zrJpb/l4NX4ZTRKQ41Yegpjae9r1voO30HxG74PcL222HJSetd/qq 7J1LijvnvuvFwKzKTF4HxXbpzTp6Kis= Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-350-fBJODf3KNJe7VFigQRxaaw-1; Thu, 03 Apr 2025 10:03:49 -0400 X-MC-Unique: fBJODf3KNJe7VFigQRxaaw-1 X-Mimecast-MFC-AGG-ID: fBJODf3KNJe7VFigQRxaaw_1743689029 Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-7c5f3b8b1a1so121549685a.3 for ; Thu, 03 Apr 2025 07:03:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743689029; x=1744293829; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:subject:user-agent:mime-version:date:message-id:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=SCSNaKfIQGFj62LxsLl56Qmm/lRsV/ZZkpDZXBMgObY=; b=TLMT+wknL2h0i+AweFA3QkAI3yVZHUm8/Sx+5Pl5/Wx9jFC56eZ9PSt+n2t05o8FT7 E7qKjjErr9oH5VEvIMBjQk0lpCMH5dRWM/rtFclo59uFO9uww6RbWOIaqDGE0v7KaTQu RgFTQiCm8eALJIiinflk2kBJnULJLUYQktQzvQVoGCiVuXd3vM5ELd7psQ91NODxK5uR WSiby1hwZ6/ahuv6f0Y26TiqhU9qMaUwZtvcd7PnVAuurGeJzU3krgGCufqcZxWdEf+v O9ckYBGmT2TshIglg3cdvy6Zt9NywWLjt9m+dftTZh4hOQxr9ezxHb0BvIujHkVQoyBE TXwA== X-Forwarded-Encrypted: i=1; AJvYcCXi4lDMdg4ALj0vnKYNkUFtvTo8cIlvDFafMUEFBB0BDK04xui4PsEj8yCFbLADz3W9eF/GirejJA==@kvack.org X-Gm-Message-State: AOJu0YwhBkJlQClWevPK5gm+umPReC/8siUaLYuDQs8S5oKcmUwZpkur T1TaoEqdmHOMegpQQ5psa+E7BJJ3NwWaToUUvekxuIZWM0bkQZq3P5TVF+TuDaLX0HEJJgnRwAx 0svWghWWYmzZUY7ZMIen4LGpWUOt77+FUc4QplWYu6iXK9Vp+ X-Gm-Gg: ASbGncsJ6vzXdHwmb292WHnWbLu1FEVy/3ZGeNS3CaDW0cobVmnIuFmFl2ggrC9JR1r LGuQh1ck6jW3x18tuphVkBkObTtI2uGrfFQ1P0wk5JLyygyrXtx10hBWP3q4IrJaMWUb7h2aqK9 W5WR6iqbDqFTT44U4tVIwtuf5kx0xuphLIL2MymfYuFsYrNtgLspT/DP4VPe0HU0SJlo+D4jgOP uVHfMmw4PnMiDTZlLKxm3Ijl+/hp6o/DvezhCsCRMAdEPLRm+EFvilcvKzsU4gOiQh9rgYPi6zZ YEMTI4lsQZdqYDun2LuESZB+coy+VuJ/zLe31MzXO2SJ7/l4myH3t6Sjyd0L7A== X-Received: by 2002:a05:620a:472c:b0:7c5:5859:1b81 with SMTP id af79cd13be357-7c690891f00mr3187048485a.57.1743689028760; Thu, 03 Apr 2025 07:03:48 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGWPT4dKBmHcc8B0tkMrz6AwLs5xR1eHivxGfGIxFh9vYm0nZAH8c1g09bxgsP+oR66GW7FLg== X-Received: by 2002:a05:620a:472c:b0:7c5:5859:1b81 with SMTP id af79cd13be357-7c690891f00mr3187045485a.57.1743689028398; Thu, 03 Apr 2025 07:03:48 -0700 (PDT) Received: from ?IPV6:2601:188:c100:5710:315f:57b3:b997:5fca? ([2601:188:c100:5710:315f:57b3:b997:5fca]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c76e735361sm80281585a.18.2025.04.03.07.03.47 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 03 Apr 2025 07:03:47 -0700 (PDT) From: Waiman Long X-Google-Original-From: Waiman Long Message-ID: <7feb1ef2-9ce3-4014-bc0d-b98ddb108470@redhat.com> Date: Thu, 3 Apr 2025 10:03:47 -0400 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] memcg: Don't generate low/min events if either low/min or elow/emin is 0 To: Andrew Morton Cc: Johannes Weiner , Michal Hocko , Roman Gushchin , Shakeel Butt , Muchun Song , linux-kernel@vger.kernel.org, cgroups@vger.kernel.org, linux-mm@kvack.org References: <20250403031212.317837-1-longman@redhat.com> <20250402211542.6bfb9ab3a6511ea26ce3cdf8@linux-foundation.org> In-Reply-To: <20250402211542.6bfb9ab3a6511ea26ce3cdf8@linux-foundation.org> X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: 5d6sb9kR2bB7O-3K0QlYCOEq5ui4IXYoTFrPA2nRP0Q_1743689029 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 071AA100012 X-Stat-Signature: dw6bze9jiyna4ek454r6up5n1t56m71u X-HE-Tag: 1743689032-289743 X-HE-Meta: U2FsdGVkX18/EVUNDlL+3VjP1yJ0zxPU4m1Hty4IaoRucFRYbTyhWzUhMcXrY9uXXip1LIqrCsHyqmomNu2V4yc6+J7cXAREJHB5buVLdyCwugFWNiXszOR+EYzJTRs/tywcKNyB5fUSRxMg4DV++xqpG8WTEok5D3SYa6MpfmZ3RKny/m5A02CRDcNyIqT2gNR+h7LNxJccQmDMGg1hRfJN1YXEMTDnc42NZBzyx/2lxe79+oqBhnVjLaXDHaghLXa53B0akVn+VZmX6eojtheSIzAJpLuEcSyMnvLBs8K8tT/hpaCncmaQJxlcKuHUWrG5x/qH3vcXneblQ76v28DYjJUJFmypsDpcaiUNRXUdRpOxWwnGcOEpkzZ7I/L09AyVcgfgFNbGln1vKB//FbpfMJSRaMiZSAy7YBlzV4d7WxmjMXZjSuozyYwlVbRGEL3fuynuTlOQKpkr6kshNoekHQxist5nduHN9+MMo/DOi/jlZIFAF6a9TNR7UeWzmE1iwPjdDPuQ10iNT5qmI5jB9EYcGfNrK2W4IKFC2HGmEeANAAkOBwPmKk5BiZ9DhP1dW3X0R8vzwwTrcfNI5LgPMURfTqFj1QnffPvmTsqBxquqAgYp1gDCYGabaAYK0G+l4M2nUvDt5maDgORCbGoobuG8QrIQw2Du9sy2wnoK+0F3AZq+sNzvKHWMhekD08p+m5k6IWNmwi+qJG8wUhd38pCp5RqbL0ZWtVLVfXdY3yLvmQCIYxD1amjh/vo5zxzAb3AyODMZPzBHtx6alU9Wr0HKdcWs/tZbTI2e6SknvszhZcwghK3JkWXnO9QGIThrKSOikBFoDot+nzKQO15fnNwUfMXNRNITPDGez7/zXDZbkEFME02p1vbyi80aO+xhcLDhECZFHERVGsw8Fz4NQa+hf944LiK9ZorEMGySh8lSSnGwfBsB8hlVXBQOvbaLicqhKkyVtZehcM7 +FIJIjSH f9HFABv4fUbS04FwnKZXzutKEiDEhCxtTMfAG7qrpK2vWSRU= X-Bogosity: Ham, tests=bogofilter, spamicity=0.002105, 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 4/3/25 12:15 AM, Andrew Morton wrote: > On Wed, 2 Apr 2025 23:12:12 -0400 Waiman Long wrote: > >> The test_memcontrol selftest consistently fails its test_memcg_low >> sub-test because of the fact that two of its test child cgroups which >> have a memmory.low of 0 or an effective memory.low of 0 still have low >> events generated for them since mem_cgroup_below_low() use the ">=" >> operator when comparing to elow. >> >> The simple fix of changing the operator to ">", however, changes the >> way memory reclaim works quite drastically leading to other failures. >> So we can't do that without some relatively riskier changes in memory >> reclaim. >> >> Another simpler alternative is to avoid reporting below_low failure >> if either memory.low or its effective equivalent is 0 which is done >> by this patch. >> >> With this patch applied, the test_memcg_low sub-test finishes >> successfully without failure in most cases. Though both test_memcg_low >> and test_memcg_min sub-tests may fail occasionally if the memory.current >> values fall outside of the expected ranges. >> > Well, maybe the selftest needs to be changed? Yes, probably some minor adjustment to prevent sporadic failures as much as possible. Will look at that. > > Please describe this patch in terms of "what is wrong with the code at > present" and "how that is fixed" and "what is the impact upon > userspace". Will do. > > Is this change backwardly compatible with existing userspace? I doubt there will be much impact. There are two cases where the behavior will be different. First of all, if the user doesn't explictly set low/min, it will remain 0. However, the low/min events may have non-zero value if memory reclaim is happening around it. That is certainly unexpected by the users. I doubt users will have dependency on a non-zero low/min event count because that may or may not happen. The second case is when we set up an empty cgroup with no task in it. The low/min value can be set, but the effective low/min value will be 0. Again, low/min events may be triggered and I doubt users will be expecting that. Cheers, Longman