Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp3480452yba; Mon, 29 Apr 2019 03:11:05 -0700 (PDT) X-Google-Smtp-Source: APXvYqz9WgfiTl8m1+OED2fQJDdvjOwsxh/LwobY58d6TWlvqmkgvPkDhFwkRAuvX9tCppVhOJVI X-Received: by 2002:a65:4c07:: with SMTP id u7mr5543097pgq.93.1556532665651; Mon, 29 Apr 2019 03:11:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556532665; cv=none; d=google.com; s=arc-20160816; b=NLgbUQ+u5UQIm/OAVR4ddTZyvJGtCtPlCMIq6fkEylRsPmd96gRWTU6l+ar9ffQE6A YiIW17Y+01AdpklhxTZRpqcXOpCOeEF3xlWVpTRgYRe9PMjYRb7k1pWYsZFSKNBKIpkE w70Opp1k5KrT8Y7Ri2APEQMW1nHQ1WfjPPKZ7vzf/9+nA6Fu2GkMUCETujz0MJ4Gfel1 Ms9OxjqGk1CaZkXyMAPkOGC/1sFPBIkSFGcmqicsubi34I8U0uzAETLHRfAXjo+pV95y fbbzBX/v2PEtVsW9rQnOOfs+f66JmUYCE5P+UA7Z7/BHn4sOI5bepiC/c9g3PLQW80UJ e2mQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:autocrypt:openpgp:references:to:from:subject; bh=LlnFjg7cdPtMY68Qxa9DGaNp90LnLg5WJLNWEjaCUC4=; b=IdbXtMts5IiJwqQ48qCSlf31xLTaihSwjjuekuzWLOEeGw21e6ykb8U+a/Wrs/SAfa 6ff3GiV5AOqvImoXITRdhR3/C2gN79PrC9JZ6kniS1oEsRzmsRdzw+strnSdh1vote2j M9aqeEmuEKe8HU6GwRm5b3N54fgABl2VpLzXddjFeA7pZIVOJE4+d5czCPk4jjDx+8X5 ea1TkOInf+2P4KAZCLuqR7bKUeIkTAvz43n+caNHbgD94J336O8979qW3uh6mQ/xvaqu uuaXUB5AJmjqbK1rdxKoNJ/AMRKc8EGORR1d34eyRQbLWSwYNJrJqNIRW1h8vIOkIaPG MVIA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q137si30853565pgq.58.2019.04.29.03.10.49; Mon, 29 Apr 2019 03:11:05 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727718AbfD2KJ6 (ORCPT + 99 others); Mon, 29 Apr 2019 06:09:58 -0400 Received: from mail-wr1-f47.google.com ([209.85.221.47]:38958 "EHLO mail-wr1-f47.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727428AbfD2KJ5 (ORCPT ); Mon, 29 Apr 2019 06:09:57 -0400 Received: by mail-wr1-f47.google.com with SMTP id a9so15149848wrp.6; Mon, 29 Apr 2019 03:09:56 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:references:openpgp:autocrypt :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=LlnFjg7cdPtMY68Qxa9DGaNp90LnLg5WJLNWEjaCUC4=; b=ne6ebrjTdvxWmppwXsfN5lt11thtkmBDSvHRS1voP5+lzkrR+IjPEo7Qf0tkk8bmrC 0or/57s15i3G9V28X9eYs0fdscIgXQ9elgtxQIcbcmX+CDg766pwWXvRnsOSaNiR+VyS VqrsSuqJ0zwiyU1czeo4novNYWzJLoMjDGuV//n24i6biAMZD51RvkLVXz+peBeNYd4d a73YilRAZuqaPVm/W6QzDmx87MpF8GeMf+TrjsOXsiW4XPWJRlmSBKfupFTXZ6N2cbeW PwVFTUTb7NSYSY1Xvlo0ZAlDVG8xcWKMB+tYqx0Wtc6EJQowmTaqERcPpzT/ouqf945Z tX5g== X-Gm-Message-State: APjAAAVFjY36XkCda1SGQ3gixUkC+x8DcLTpXXXA8l5LEwYlM/1z6N2D qihr+9fzJiEbpfpTM2Uj3+As1oHq X-Received: by 2002:a5d:5308:: with SMTP id e8mr9950716wrv.126.1556532595633; Mon, 29 Apr 2019 03:09:55 -0700 (PDT) Received: from ?IPv6:2a0b:e7c0:0:107::49? ([2a0b:e7c0:0:107::49]) by smtp.gmail.com with ESMTPSA id s124sm13406184wmf.42.2019.04.29.03.09.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 29 Apr 2019 03:09:54 -0700 (PDT) Subject: Re: memcg causes crashes in list_lru_add From: Jiri Slaby To: Johannes Weiner , Michal Hocko , Vladimir Davydov , cgroups@vger.kernel.org, mm , Linux kernel mailing list References: <2cbfb8dc-31f0-7b95-8a93-954edb859cd8@suse.cz> Openpgp: preference=signencrypt Autocrypt: addr=jslaby@suse.cz; prefer-encrypt=mutual; keydata= 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 Message-ID: <359d98e6-044a-7686-8522-bdd2489e9456@suse.cz> Date: Mon, 29 Apr 2019 12:09:53 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 In-Reply-To: <2cbfb8dc-31f0-7b95-8a93-954edb859cd8@suse.cz> Content-Type: text/plain; charset=iso-8859-2 Content-Language: en-GB Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 29. 04. 19, 11:25, Jiri Slaby wrote:> memcg_update_all_list_lrus should take care about resizing the array. It should, but: [ 0.058362] Number of physical nodes 2 [ 0.058366] Skipping disabled node 0 So this should be the real fix: --- linux-5.0-stable1.orig/mm/list_lru.c +++ linux-5.0-stable1/mm/list_lru.c @@ -37,11 +37,12 @@ static int lru_shrinker_id(struct list_l static inline bool list_lru_memcg_aware(struct list_lru *lru) { - /* - * This needs node 0 to be always present, even - * in the systems supporting sparse numa ids. - */ - return !!lru->node[0].memcg_lrus; + int i; + + for_each_online_node(i) + return !!lru->node[i].memcg_lrus; + + return false; } static inline struct list_lru_one * Opinions? thanks, -- js suse labs