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 9EEE9C76196 for ; Tue, 11 Apr 2023 13:17:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1E94A900003; Tue, 11 Apr 2023 09:17:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 199746B0078; Tue, 11 Apr 2023 09:17:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0612A900003; Tue, 11 Apr 2023 09:17:38 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id EE2656B0075 for ; Tue, 11 Apr 2023 09:17:37 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id B7AE1A0A6F for ; Tue, 11 Apr 2023 13:17:37 +0000 (UTC) X-FDA: 80669162154.17.3394FD7 Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.44]) by imf22.hostedemail.com (Postfix) with ESMTP id B2D00C001A for ; Tue, 11 Apr 2023 13:17:34 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=P1erKL2E; spf=pass (imf22.hostedemail.com: domain of ligang.bdlg@bytedance.com designates 209.85.216.44 as permitted sender) smtp.mailfrom=ligang.bdlg@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1681219055; 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=NYzMqMQLWwJeC6OGUwmJWcqketmIRYbxIgkEUyuEFt4=; b=7A9W0WCXvvkJbGGmzYfnkGz1pqn5JJAyJ6wcGQwRh/eP6ZswQHvJTXKpsFJ2gWdtujn7Hv /6FMG1NJgQAZTob0EU8sCvHkl2x9sA7YvfO68hX6nE0Kn5wC010XtAcaFH+CK/MhuWXdkf Jo/pwuPe49Fwc6zqkQoxSnfDxT/eX5k= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=P1erKL2E; spf=pass (imf22.hostedemail.com: domain of ligang.bdlg@bytedance.com designates 209.85.216.44 as permitted sender) smtp.mailfrom=ligang.bdlg@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1681219055; a=rsa-sha256; cv=none; b=nUBDUKNnK2cGS+9sUFBjqsBXO2WJ7mg8DY3VnoNyCka9KzxZdXKQHFkUOC0plXU80NSAmV IQ8KokOqbHHFVnAy3fEeUNHPfjO06/2glt1SInydxKu2t75/R+aA+hkStVC9LKdTxEtHO3 WofD9NuHXpuqMdOAu+tG2Ca47JlUdV8= Received: by mail-pj1-f44.google.com with SMTP id q15-20020a17090a2dcf00b0023efab0e3bfso10860129pjm.3 for ; Tue, 11 Apr 2023 06:17:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1681219053; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=NYzMqMQLWwJeC6OGUwmJWcqketmIRYbxIgkEUyuEFt4=; b=P1erKL2EU4UpxT3LNTe4A5/bZ8blCn0k9bzNo/S562ki4ed2xT7q7WtfsuY1bJt4rs X+hWnFXwZSOGMWe53hmqw4kufYfrMOQrJ0Bd8zld2rnQv0a9JIyOX9mii3aPzX3mAX2F HcLbqqUFZmx74vhjdKoyBNgwTuz838ddshZe2qotABo4tHJH1B8sqN/fq/b5Mb6M+u5u 0LvNHchxcevPWHmxTzgk6xauQkC0R9cI6ZyJt+Zv9rVp0N8TZcaFBeNGTWHEKo6msBkI KERk1aC60cvZl3R3KieEsJZKgCwW9UoBCNMScvmIPUmywUUl2gVLQ4aiVpld2gEuyqcr jFfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1681219053; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=NYzMqMQLWwJeC6OGUwmJWcqketmIRYbxIgkEUyuEFt4=; b=nS1HQhNTYSNovfqCUxWWCpvqGWomfKOWgA6AiCpRHjw9QG8JZwP+/Jkotk81sLWjf1 NwJ/Vjq2PDhUZb3sEgbCpzSLYeDGC0zECHYbE0q8EbkQo2RjbNQrZpLPkWbze6R9nufk 5QVyioFLB6kA3wz8h/34Ktut4bn5ZAFsoHyI2dFKigeIMUOTrRyGGRaywhAiwh2Q/Amc jJygFoWKsm1PkRd83nNDOb9OlFgamuQBgoFg/iVlltDmxomJ+01LIC4Syss441AGS/tc bvFRs4/eCKbh0n8qRiX5EUz/3AemYXS9O4BaFPJWUn+xGKhzMqQclMkKg4NepSeErutJ QY6g== X-Gm-Message-State: AAQBX9cSjLLnnRYGGdobrgVbWX0+V0q3Wxc5miLbOjGeNB+6KlyF0zQm 8LYQT3gaLIHf1hL3uvqKbIBRRAc8NE85CWuk6Y12tg== X-Google-Smtp-Source: AKy350YAGaeIEzPbfbi2Wxc4GVr9yYYxoy6vhvkknSyhnDHERSJjog9wfEWDOpHDUCdeEii5MO3thw== X-Received: by 2002:a05:6a20:ba95:b0:d9:ec4b:82c8 with SMTP id fb21-20020a056a20ba9500b000d9ec4b82c8mr14565681pzb.48.1681219053308; Tue, 11 Apr 2023 06:17:33 -0700 (PDT) Received: from [10.2.117.253] ([61.213.176.5]) by smtp.gmail.com with ESMTPSA id h20-20020aa786d4000000b00638ac6f9a0bsm3601096pfo.11.2023.04.11.06.17.29 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 11 Apr 2023 06:17:32 -0700 (PDT) Message-ID: Date: Tue, 11 Apr 2023 21:17:27 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 Subject: Re: Re: Re: [PATCH v4] mm: oom: introduce cpuset oom Content-Language: en-US To: Michal Hocko Cc: =?UTF-8?Q?Michal_Koutn=c3=bd?= , Waiman Long , cgroups@vger.kernel.org, linux-mm@kvack.org, rientjes@google.com, Zefan Li , linux-kernel@vger.kernel.org References: <20230411065816.9798-1-ligang.bdlg@bytedance.com> <3myr57cw3qepul7igpifypxx4xd2buo2y453xlqhdw4xgjokc4@vi3odjfo3ahc> From: Gang Li In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: B2D00C001A X-Stat-Signature: 6m7kirxfief7f6szu98pfshg3aa343hx X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1681219054-671250 X-HE-Meta: U2FsdGVkX1/1HDg2Hph58vS5IXg7bRQW7Fi/z5bcoRTQc3QUG7nta8H2cR6yFQlwwea6p92FNqbwJJB/wkIhYnfP+DPdix2NAbx1myoJ6T/0pFy+xB8saD1Rsxn3vQXOUz/E+MvP5khBltvlKesERNMXoIbMt+azeheoBRynAYFdl1EPvegPYd/1cy9sLKL+DwlOcxmitXeDz5bAagaIo5vT6rcI6H/rCEkBvYuhscmD8tKpheKT5gwuY8GJ6Cul35fvBwdF2F05xMD1X70CP8PfDdihIiTSbwVPQjXv/3K/P8hoG+KmXGW/9JfRUsxfmNoUIZHEg3wL9jpGxPpBISiZzKHTQR9Fv5t94/Gzzg1nxpH+sNkNuKcAx218ojtncCiviZkfRDeQXd9mKq1l0dReUeq0glWAgGRyYkqI7GbKihmbFOz6dI1EcQOlIaplw2HiF5+k2Ct5AYAUp1Q8XabOfdDne8q5rqN+pT7gmB7j4+1x05g1VGoJsAUKS6DKz/U/KSSI4XmdWH9jUgShs4WF1zcASDEKli6pNpHQJpPO4MuZNSeBKmsTn/5P2/Nwi7K4qldiljn8+gdeyGXBjkOwdz1REfDa34bTKovG3pwDQP0XxKCdGp22scqIBv2G8AVIogM1TT28wL0HA2lzyltMiW7C1pdhV9Yj6vckWdrarT6KJocz3lABtgLlLqLzj3/YXsyqcgkpAEt1td1HGygwfs9E7rlHtetJnkT6k71hp7i2nNMWbG72DrhhPScNfMPhfUVUkJlABG3IHFy0j7zvoacZwbEnVmfY9/Y/nIh1+5X6sdMlA2HnQFxSdn4OTJsEdvddhcw72Q/RePhCE0Nwad2TILItPSfUPWK/k9imVa7/YJ25Cw97y9RKf9Kzlidb1orOYCrLiCwOpyw/ewo70CtLRl7Ga17iolrzfaPlsxr6qOiNwYuCF25YOfY/FDrYzAQ9uoyJ5ZoVqJ0 1oNYZ55T 9lpPrnQBFIpJ7aB0e7gvfu251zGcQw6ObS3XF4ySP59GoEFsS8ixUZvyBxTgkElTMuXj+mCk0SQ4aGUHhGjLtXbcgl0ItYOj8iIUMWKbui+6Pah//H7wSWEJeKTx2b1V7GE/SMpRZWZg9qRN3C0W8+QcCJb04chTJrsGSNfbDqJoUAS47vb5LS+ImH8sVnIcXKpCyW7zMlenZ/8djfLT6//IN8fIry0cD5vIuwpg6JFgL7eEuKT8iqfEC9f3thB7iwdok6qq8+4EVwJGcuD4HPJCTLjLDosIXuO7UinZTuaejuwY6zNV+h4Or96YFRstoLCMxWFJKU/aanJvY27OtUwfkECZBPrTibCkcfxeMDXc3foydyQ24HwtF3htLQL4UbQiG5TwcHsxTFq3r8Kw3v3LydKW2nc4uCJH8u3fZUC3vEIhhh/3M9XE6bA== 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 2023/4/11 21:12, Michal Hocko wrote: > On Tue 11-04-23 21:04:18, Gang Li wrote: >> >> >> On 2023/4/11 20:23, Michal Koutný wrote: >>> Hello. >>> >>> On Tue, Apr 11, 2023 at 02:58:15PM +0800, Gang Li wrote: >>>> + cpuset_for_each_descendant_pre(cs, pos_css, &top_cpuset) { >>>> + if (nodes_equal(cs->mems_allowed, task_cs(current)->mems_allowed)) { >>>> + css_task_iter_start(&(cs->css), CSS_TASK_ITER_PROCS, &it); >>>> + while (!ret && (task = css_task_iter_next(&it))) >>>> + ret = fn(task, arg); >>>> + css_task_iter_end(&it); >>>> + } >>>> + } >>>> + rcu_read_unlock(); >>>> + cpuset_read_unlock(); >>>> + return ret; >>>> +} >>> >>> I see this traverses all cpusets without the hierarchy actually >>> mattering that much. Wouldn't the CONSTRAINT_CPUSET better achieved by >>> globally (or per-memcg) scanning all processes and filtering with: >> >> Oh I see, you mean scanning all processes in all cpusets and scanning >> all processes globally are equivalent. > > Why cannot you simple select a process from the cpuset the allocating > process belongs to? I thought the whole idea was to handle well > partitioned workloads. > Yes I can :) It's much easier. >>> nodes_intersect(current->mems_allowed, p->mems_allowed >> >> Perhaps it would be better to use nodes_equal first, and if no suitable >> victim is found, then downgrade to nodes_intersect? > > How can this happen? > >> NUMA balancing mechanism tends to keep memory on the same NUMA node, and >> if the selected victim's memory happens to be on a node that does not >> intersect with the current process's node, we still won't be able to >> free up any memory. > > AFAIR NUMA balancing doesn't touch processes with memory policies.