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 4AF09C761A6 for ; Wed, 29 Mar 2023 11:22:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5E8076B0072; Wed, 29 Mar 2023 07:22:18 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 597DA6B0074; Wed, 29 Mar 2023 07:22:18 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 486AF6B0075; Wed, 29 Mar 2023 07:22:18 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 3A1566B0072 for ; Wed, 29 Mar 2023 07:22:18 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 06A02A05BA for ; Wed, 29 Mar 2023 11:22:18 +0000 (UTC) X-FDA: 80621697156.06.BAD6791 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by imf03.hostedemail.com (Postfix) with ESMTP id 2227520010 for ; Wed, 29 Mar 2023 11:22:14 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=suse.com header.s=susede1 header.b=vXmcD7WV; spf=pass (imf03.hostedemail.com: domain of mhocko@suse.com designates 195.135.220.29 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1680088935; 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=gebdMLUhhGELLLVSbQbSg6v4/rJOoLd9eRIXmlgXsio=; b=3A0RdaDnaysUUae2+3dzzavYvXtwCJrQ2almCIQRV1domF4VeIUPIIO2/pRplUmaqgij+L 3D4tjFN63F5Se6LaiZJxYtvzhq8cMJHbv/Iv5EqBMwG+VmjsUQa7EW4aq8TD0vCpH5vOvy EhyD78oCugEm/KBQHL2G1kRYkGEay+8= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=suse.com header.s=susede1 header.b=vXmcD7WV; spf=pass (imf03.hostedemail.com: domain of mhocko@suse.com designates 195.135.220.29 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1680088935; a=rsa-sha256; cv=none; b=qb+/a41WFKJOWjt27b0jjWFAgQ+E8p34eubVQhXQ4KlcC0NQjCibLBc942GMobc+tr83iW cfjuQGsG+AJvKUpbNMfYnep8fQ6rUGA5+2QNkfn+c45MLY05zI8n3sOoHcgXCWZ1JBgvyf 1AbnCgrGYiKHpWh4KLV81j5K0Lh/Fzo= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 8D56F1F7AB; Wed, 29 Mar 2023 11:22:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1680088933; h=from:from:reply-to: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=gebdMLUhhGELLLVSbQbSg6v4/rJOoLd9eRIXmlgXsio=; b=vXmcD7WVZBRtIF0QTHnyV0Rs4Utot99+8SQdPpEeQgdw9Nt9PPFDXEaDiGG07RKvkX9o4l lGXnaYncs8HwoSJ4MiI1vkPA5f/VJ3GJlKnBIUWk10zdR5ivx8u3vsRJi+RTJsPs0Xg3tS /x3S3AGVNCHDf2wdcfpAeE+BafyyrcY= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 6EBF7138FF; Wed, 29 Mar 2023 11:22:13 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id QbCbGWUfJGSgSQAAMHmgww (envelope-from ); Wed, 29 Mar 2023 11:22:13 +0000 Date: Wed, 29 Mar 2023 13:22:12 +0200 From: Michal Hocko To: Yosry Ahmed Cc: Tejun Heo , Josef Bacik , Jens Axboe , Zefan Li , Johannes Weiner , Roman Gushchin , Shakeel Butt , Muchun Song , Andrew Morton , Michal =?iso-8859-1?Q?Koutn=FD?= , Vasily Averin , cgroups@vger.kernel.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, bpf@vger.kernel.org Subject: Re: [PATCH v2 4/9] cgroup: rstat: add WARN_ON_ONCE() if flushing outside task context Message-ID: References: <20230328221644.803272-1-yosryahmed@google.com> <20230328221644.803272-5-yosryahmed@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230328221644.803272-5-yosryahmed@google.com> X-Stat-Signature: y6gh5nb46n1ds4jg66cnshouddsto9au X-Rspam-User: X-Rspamd-Queue-Id: 2227520010 X-Rspamd-Server: rspam06 X-HE-Tag: 1680088934-400110 X-HE-Meta: U2FsdGVkX1+fvt954YbvHD/+/jlJXbUm78rP39xPzsmrtHyox0G+caq8S7B/tWvQ8UrL7+XA2bzDdgSOABd4deyNCbyj/GPlO9QphRSdtZodwVL64n+oxz1SolNIFuqIpVdZgszB64JtSiBMDZtxZWnTg1yTRPT5dW1DN0k5Iq5cYRn3NkDXxiQzHQkUV9TyJYcpWp9kyftAIVxPN2Jg1lm997t3WoYTCCGxNODa13bdv9U2a1hj/t9zCEcGVvP5Zisw0C2iWSs+qvuO73ZsduB/oS2d42Kkwm2QuuyFWzSizvhjKw4u+k6mhK1POZ4hVRT7zgBoO1tKkp1kjEvgas/Jbg30ZORh9cZb7ThPz/YTOZqWFc6AtfdsYt/29jovkFcLmmRfoNmcpkL+ToyUfOdHWl6bk3fz1apVT/3ydpGNkzXA+oAiog3wdTwSBn/CBtHAqJbxWVzI0FoFDy/5OJx6KdCNmIVdZpkgQVfzjz1nUjcTjYDWNbfOGjhCL1BhY+t5EqA8CDhTEpvHfcRLFDLgR7HJ2K7sgACDuX/AJ8SaXwNVR7as/YCRSlzy0n35hKRNhr0wOMV+n/w8+vHnWclA/k8FqBU2y2gtNrHyxqmR9h6hloT9Zyd9gDKObntJ8APmI+ZolJV1Sw3H8RM5UrwH63BgPh3iEqk/pWNlCkyJzZb14ibOm+X9P9XWbQogASY5FIivYvwdRHth6xOzNI7iD2+vl6zkV5ZgE7eqqfMkNu0KiegVJaPSlQzYyaJ+WYZKncP4qWYcDUOQg+BdCUEYfUo0CnlmrUVmRRFSLzd7+VIhihM6a6skf5gfgB3arSDrzkXrOx8lu2XlW3P4dF5k4ybpprnAQ51qJcX0l/fZAMLGhFQh7Jq6ohzf+sskFLYr/aWXO/vFBKW4ooXptL4e76ih2c9UaqxxMnBv2lRTyrS6D6FHwH6KkDZpsk7thD4hs2peisTcB5zt+JM R/qxO4wM FEqn1FkQbdgijF5C7NO3JrKWm6hI2cEoQiQlyntyW4vY6afuT8JAP/im5c2qF/P1ldOcGnxY9sYMcKJn+ThNZiVgPn4AKmQ0llXD+hH8w+DQc9s4zWkwp9td1wF5MC2qVQIctkzoQr5gXacucrkKPMKW4Ez/4HxcWQiVc0EJ7YQkpnvdSuaOvkRJM8XmWwM0JdzRUxOTSvkj5hx2gOCU9S9h/270c3kJS5v/2QMF00y/GN2M= 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 Tue 28-03-23 22:16:39, Yosry Ahmed wrote: > rstat flushing is too expensive to perform in irq context. > The previous patch removed the only context that may invoke an rstat > flush from irq context, add a WARN_ON_ONCE() to detect future > violations, or those that we are not aware of. > > Ideally, we wouldn't flush with irqs disabled either, but we have one > context today that does so in mem_cgroup_usage(). Forbid callers from > irq context for now, and hopefully we can also forbid callers with irqs > disabled in the future when we can get rid of this callsite. I am sorry to be late to the discussion. I wanted to follow up on Johannes reply in the previous version but you are too fast ;) I do agree that this looks rather arbitrary. You do not explain how the warning actually helps. Is the intention to be really verbose to the kernel log when somebody uses this interface from the IRQ context and get bug reports? What about configurations with panic on warn? Do we really want to crash their systems for something like that? > Signed-off-by: Yosry Ahmed > Reviewed-by: Shakeel Butt > --- > kernel/cgroup/rstat.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/kernel/cgroup/rstat.c b/kernel/cgroup/rstat.c > index d3252b0416b6..c2571939139f 100644 > --- a/kernel/cgroup/rstat.c > +++ b/kernel/cgroup/rstat.c > @@ -176,6 +176,8 @@ static void cgroup_rstat_flush_locked(struct cgroup *cgrp, bool may_sleep) > { > int cpu; > > + /* rstat flushing is too expensive for irq context */ > + WARN_ON_ONCE(!in_task()); > lockdep_assert_held(&cgroup_rstat_lock); > > for_each_possible_cpu(cpu) { > -- > 2.40.0.348.gf938b09366-goog -- Michal Hocko SUSE Labs