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 X-Spam-Level: X-Spam-Status: No, score=-14.3 required=3.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2ED5CFC6196 for ; Thu, 7 Nov 2019 02:32:10 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id E0CA32075C for ; Thu, 7 Nov 2019 02:32:09 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="DEq2d9wP" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E0CA32075C Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 8FB5A6B0003; Wed, 6 Nov 2019 21:32:09 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 8ACC96B0006; Wed, 6 Nov 2019 21:32:09 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 79B706B0007; Wed, 6 Nov 2019 21:32:09 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0079.hostedemail.com [216.40.44.79]) by kanga.kvack.org (Postfix) with ESMTP id 645136B0003 for ; Wed, 6 Nov 2019 21:32:09 -0500 (EST) Received: from smtpin28.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with SMTP id 196BB180AD815 for ; Thu, 7 Nov 2019 02:32:09 +0000 (UTC) X-FDA: 76127906778.28.dock24_8729563c9d247 X-HE-Tag: dock24_8729563c9d247 X-Filterd-Recvd-Size: 4392 Received: from mail-oi1-f193.google.com (mail-oi1-f193.google.com [209.85.167.193]) by imf14.hostedemail.com (Postfix) with ESMTP for ; Thu, 7 Nov 2019 02:32:08 +0000 (UTC) Received: by mail-oi1-f193.google.com with SMTP id n16so646813oig.2 for ; Wed, 06 Nov 2019 18:32:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=AHeH+k3q1YGRdVcK71lwkaCtcvgP7dVsV5GnTtoj2xs=; b=DEq2d9wPFiLHlbBQh4T+yaRBQsYILaoQXq1yI4S1YiUQbtgMwYBgOoYV88hwOdZMU5 GHnkt3p84ev9URkfVlSTUApIfb/xp6J1w6wbf46IFkrE2Uxi1de+IGf2+F/G3Skls/0Z h8H060f0oB8KOVdroNFU9e3cmJh4yB18mqmI6UcP7NAgoNNy+AYMzlK/Ti9N0lVdmrW4 +J+jisaNy7CTzmhSNNM7yNU5UDAMsZQEsTKcmn1S3cqaefQc5PxCFavlItazoFxA8BEq QUAXc5NnNs0sbaxmyPfFC326BfQypv4XYu8MYRzOmSzdgHUETuJdpFv9Me35Ho33B8sT +RVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=AHeH+k3q1YGRdVcK71lwkaCtcvgP7dVsV5GnTtoj2xs=; b=C2pikVXvTNHt+jArFLqVLaGkDL75wEta6sjw++6YbQpYja617Uc8RQkdiiDG/hWdb2 MCw3w6H9p+aKgTO6lrWZYqTPV9x0WdtxXVGQwO8dxJuCYh5fndlnTtachNXTomD75Uce obfAer/SghNfbchMkBV4zZgN3RiQKWt4sd4QmTVLhGGVVmMXB9MH8TEazoI8MJZEXhFb hy29aKFDWVcITV7wcnCY1AYbYMrl9l6udU6ulJv9s3rClIkCgjstER1ba0k9xu0ko/0J RSfx92gLOuEUp07zDAj/hPfLqwH78CRQxwHzRUfZopEgkS8J8Yl+M3s8f4x1Kr5utgZg Ok0A== X-Gm-Message-State: APjAAAUuGcLS3XnGB5SFFlb5Q1ztg2zpfsOE/Wvx8CVv4eGI0HqaINfe nM2xY2XvrOu9izuTVUbUWYNSgJbc6pVwYDEOChNZIg== X-Google-Smtp-Source: APXvYqztwmeiDA0mnICKAU44hM1wSeOw3WVwMf8C7tYj7HDrnvdXLqu1dNly6uEYJyDZNXKBi9CKk4/YwHZaxpI2HLo= X-Received: by 2002:a05:6808:9ae:: with SMTP id e14mr1055079oig.79.1573093927619; Wed, 06 Nov 2019 18:32:07 -0800 (PST) MIME-Version: 1.0 References: <20191106225131.3543616-1-guro@fb.com> <20191106225131.3543616-2-guro@fb.com> In-Reply-To: <20191106225131.3543616-2-guro@fb.com> From: Shakeel Butt Date: Wed, 6 Nov 2019 18:31:56 -0800 Message-ID: Subject: Re: [PATCH 2/2] mm: hugetlb: switch to css_tryget() in hugetlb_cgroup_charge_cgroup() To: Roman Gushchin Cc: Linux MM , Andrew Morton , Michal Hocko , Johannes Weiner , LKML , Kernel Team , stable@vger.kernel.org, Tejun Heo Content-Type: text/plain; charset="UTF-8" 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 Wed, Nov 6, 2019 at 2:53 PM Roman Gushchin wrote: > > An exiting task might belong to an offline cgroup. In this case > an attempt to grab a cgroup reference from the task can end up > with an infinite loop in hugetlb_cgroup_charge_cgroup(), because > neither the cgroup will become online, neither the task will > be migrated to a live cgroup. > > Fix this by switching over to css_tryget(). As css_tryget_online() > can't guarantee that the cgroup won't go offline, in most cases > the check doesn't make sense. In this particular case users of > hugetlb_cgroup_charge_cgroup() are not affected by this change. > > A similar problem is described by commit 18fa84a2db0e ("cgroup: Use > css_tryget() instead of css_tryget_online() in task_get_css()"). > > Signed-off-by: Roman Gushchin Reviewed-by: Shakeel Butt > Cc: stable@vger.kernel.org > Cc: Tejun Heo > --- > mm/hugetlb_cgroup.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/hugetlb_cgroup.c b/mm/hugetlb_cgroup.c > index f1930fa0b445..2ac38bdc18a1 100644 > --- a/mm/hugetlb_cgroup.c > +++ b/mm/hugetlb_cgroup.c > @@ -196,7 +196,7 @@ int hugetlb_cgroup_charge_cgroup(int idx, unsigned long nr_pages, > again: > rcu_read_lock(); > h_cg = hugetlb_cgroup_from_task(current); > - if (!css_tryget_online(&h_cg->css)) { > + if (!css_tryget(&h_cg->css)) { > rcu_read_unlock(); > goto again; > } > -- > 2.17.1 >