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 69DA0C678D4 for ; Wed, 1 Mar 2023 20:07:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8168E6B0071; Wed, 1 Mar 2023 15:07:56 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7C61B6B0072; Wed, 1 Mar 2023 15:07:56 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6B5746B0073; Wed, 1 Mar 2023 15:07:56 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 580A46B0071 for ; Wed, 1 Mar 2023 15:07:56 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id DF3B71609B8 for ; Wed, 1 Mar 2023 20:07:55 +0000 (UTC) X-FDA: 80521415310.19.A90DB0A Received: from mail-qt1-f175.google.com (mail-qt1-f175.google.com [209.85.160.175]) by imf27.hostedemail.com (Postfix) with ESMTP id F0F5240023 for ; Wed, 1 Mar 2023 20:07:52 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=cmpxchg-org.20210112.gappssmtp.com header.s=20210112 header.b=F3ZYH+5P; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf27.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.160.175 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1677701273; 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=EAcp6gwJPIpQSJ5evzEyfrtFkdf4nPPjMijC6R20IBI=; b=cVRd34k/mWZ8t3pTNY+hm3qVfFJ6EqAst6iCgpIYVqooovpNAOsnQTCGIvXZRKqaxgkGn6 q7WL5UHdj6qjGTojSH1XZadgH2L3L0FnzKa4cXcy8fRZn5D2gh9bvhAPbytKsgQqZLrBEA SkudEuIHyV8PqHz2QLqV+mgDAhY9Ulk= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=cmpxchg-org.20210112.gappssmtp.com header.s=20210112 header.b=F3ZYH+5P; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf27.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.160.175 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1677701273; a=rsa-sha256; cv=none; b=AovaeBDuXzR8Cu3Qk4DhEd4husS+53PglPkmmRT/fpIPwox9aw4XGGFTs1QOz7T6uc+zUQ +wsMNTqY6JuDYPXUCVZ6jbdi7KfsxXhtU5tZS5VJE+dlXFco+XY4vzlOAJ7md64dicBBe4 wWdHx3ASeWNoJDRhe9FvFXfYX61uoOE= Received: by mail-qt1-f175.google.com with SMTP id ay9so15689556qtb.9 for ; Wed, 01 Mar 2023 12:07:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20210112.gappssmtp.com; s=20210112; t=1677701272; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=EAcp6gwJPIpQSJ5evzEyfrtFkdf4nPPjMijC6R20IBI=; b=F3ZYH+5Px/N5yjWu3nYFhIw28OIIi3vK0lrj9VXXDVqd7nyUsmYzdUcZH15UNBaQ18 P6d3947mCJmysie/OTvSpOzJur1L4DsVnRqK+EK3L/lF/5CYUVYe00hr51kzsp7jplxy kFNIZzjVOyU/3/NXzrYxkfKTvB0l2OxAO78e/pq9VctGhD8PQPdAAc5gMoQ5P43g//Q+ WdSdzRPpLmumJRD5YsFiIFDMLyUDRZy2fhlbxZxoXeShB7UYoP4fVnfoWJeRtH8o2zXL oRn1MC0/8QMRNTvVSRsVqbt/Hwm831MREuiRJbleArO36wnUJHRYSvw/uyhNG04vl2t8 Azqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677701272; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=EAcp6gwJPIpQSJ5evzEyfrtFkdf4nPPjMijC6R20IBI=; b=qaZPD/ecY++wC1Yjscuhu+XafVO5WRtjXjjaSyW2jXJO51jk6Cg515Y8WFv2229/rl uk/UVbuJCett4E9x5M7SUTw9Xha/KGAj0ex7M0oxg+EyknhjoK50t7dDq24R1ttNVuvI bPrtpVu7b+wFcXIxdS3thAEP4HcJU0Ayv9CtRxX84O+0SJbfgOc9xBCFeCLWZoTWUKVy gdG6OE5t+YV/1zX7kaqNTUkzi0ms1x6OCWvH7TyaQIbZ8omdL4j56F2tjugvMrfQ9MYj vOW0/5OezzwNT4HreSQcMJHQeyDDx1+aQf+xaD0nrOntTaL+RT2iZF9mIFrYv4nqYmZm XCKA== X-Gm-Message-State: AO0yUKXspg48l3hMojkzzj2MbFSrLX9ep0Nd+RyGxagwaAKzm9trBHyC 6DwPqods1po4pcFi8yD1jJJMAg== X-Google-Smtp-Source: AK7set8fklZoidZ6wJPlErKN58Hjas3ZHyXPUbpl8sIiemNVnmVVNAxl92wHSOfvT9RXVfLNyf763g== X-Received: by 2002:ac8:5a52:0:b0:3bf:d1b3:2be2 with SMTP id o18-20020ac85a52000000b003bfd1b32be2mr12989708qta.63.1677701272045; Wed, 01 Mar 2023 12:07:52 -0800 (PST) Received: from localhost ([2620:10d:c091:480::1:19d]) by smtp.gmail.com with ESMTPSA id q13-20020ac8450d000000b003bfad864e81sm8925102qtn.69.2023.03.01.12.07.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Mar 2023 12:07:51 -0800 (PST) Date: Wed, 1 Mar 2023 15:07:50 -0500 From: Johannes Weiner To: Suren Baghdasaryan Cc: tj@kernel.org, lizefan.x@bytedance.com, peterz@infradead.org, johunt@akamai.com, mhocko@suse.com, keescook@chromium.org, quic_sudaraja@quicinc.com, cgroups@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/1] psi: remove 500ms min window size limitation for triggers Message-ID: References: <20230301193403.1507484-1-surenb@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230301193403.1507484-1-surenb@google.com> X-Rspamd-Queue-Id: F0F5240023 X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: okg95sqpfo96bw9hd1tmpk8xbzjbccii X-HE-Tag: 1677701272-38400 X-HE-Meta: U2FsdGVkX18x6zdIu4HBDJoYn0y/HN5QSlPeC2zxYwpQPjvnL8h8Hhu8AqQ4wNTT7Is3di+nibD2SW23Y74LMpM6lG+3FG7w+BVnNi87bf8jpPrcqIzaXMam7aQGICMxPc9LxjqpT5/KMFH3qX9jytazBIgH6Tk0juMN+q128boTp+SgZcE4yZdILbNEIWkT0d8uMEuxPcCXhNCX4ZmUsZloAQEpnN0UarQhij5rMpAswYqvPQlwHg8GWNxJJ0GtpN8F0h2PJmXT+CtRSzuCaFFqNnVbxNm2G6Kb0Fhk78nxC8tHz+TpCZwuf4W2omooWDOlv9ZyrMO8Q+qTL61zE9ce0GQLMOEtqRyaFj6cyXjaupchOiN0d+rgUrs7wU8ovY/VACAjDDffyD7Ymp8SNkECPizjgMCHk1CgJju63x8uvMPz7aS62HaLkuZ+cm6xTBC8Ctq/hGb2p1VhUheciRueL4qcmbMC1tonn0cA1wNdrVq3jHlvMwLFZt2xlsXbMV5uvPs3z2whE5XNvc28IO6ggN140KenARx9civphUVexlVavf0P+ktp5UMlKAPQaSCKvgzA2ozjjMCUR5e4acPIeRhaJg8Fz0baQJXBrLwfO7ZedJVVhlH28zFb6Ksdp5uGVAhJgnp1H2PF6V/HNt+CL/xbBS528RpmRlVfOn+RjAh8OMIFbH4XYR6w0l7LxQEowcKiCuCFVPEGuTtxCT6FukcTtE9SFsRSu9zbh/q/GW3qjJycTtsr3msVxWYsO+mLaXAPf7s+M4bQYjEed84UzxtcOAjdOlZAiJADvGOIo2Cz/Yl8J5NKbjwGpB1eQbPdkhzA2M3NyLlrSUfL7+OdtjRC3Wgt3KBB8X7xeglDELM8LzdNxQ9KZSDqdFvSdd5IDGe1eZrxcv0XWFPkU00Otlm7tXblWjvxnJsWFii8xvqavdSSu3ETovGfk0rMojvFxTQ4lsJCt/gfZO3 Mdn9jPZw dSP82WiBVN1HrJBEKH7NgCXTa+p90M1xMqTearDWPmLLqpXHqSsK9M2snIEmiODfg1HCZ3p+em6A2zCnGP15wLb/KGO7UGPsxFYa1rg3NyjZ9T4ySYk0zt4PX1C6xn4tzl61C2F/3GgbZywGnjBC0BFZN6KUwoFM4AAf1uR2gvvrmg5NnFFXv5RkdZmZqlJHOtijrpFPpxPqL7VOCcTbfNWazj+OYXVGaMmYn/5bnq7wcoXURXCit892n4fCN5IK34fOdG3HPZ7oS7rdtvsG7EKd9y5sBEguFiLznPkRIvbWmVk2/lcqtxsRZE9zN8pyEJL+la/J2GIV1T4FkIz8DQbzSwWmOx4Ms6Y+KhsY7PLw4dXUKKEe26kG/xzn3ymSUvFK6DnAH3RWl7982EAWnffCufOqQz9B7M7iGwaBm+Qnwv6jnpeEu8CQO+y09hvgn3y+LeMHfvPYQXG8XL29+RB8kdFnByoqFxuYm/yPhNeiGgOGSbAUNcXDw3fPtQYaAFWoJA3Ly5t+cAR/TOUFZhaqvg6Ckyw8cd945DC5rpQGQ3R98QrLZlxCokw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000004, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Wed, Mar 01, 2023 at 11:34:03AM -0800, Suren Baghdasaryan wrote: > Current 500ms min window size for psi triggers limits polling interval > to 50ms to prevent polling threads from using too much cpu bandwidth by > polling too frequently. However the number of cgroups with triggers is > unlimited, so this protection can be defeated by creating multiple > cgroups with psi triggers (triggers in each cgroup are served by a single > "psimon" kernel thread). > Instead of limiting min polling period, which also limits the latency of > psi events, it's better to limit psi trigger creation to authorized users > only, like we do for system-wide psi triggers (/proc/pressure/* files can > be written only by processes with CAP_SYS_RESOURCE capability). This also > makes access rules for cgroup psi files consistent with system-wide ones. > Add a CAP_SYS_RESOURCE capability check for cgroup psi file writers and > remove the psi window min size limitation. > > Suggested-by: Sudarshan Rajagopalan > Link: https://lore.kernel.org/all/cover.1676067791.git.quic_sudaraja@quicinc.com/ > Signed-off-by: Suren Baghdasaryan > --- > kernel/cgroup/cgroup.c | 10 ++++++++++ > kernel/sched/psi.c | 4 +--- > 2 files changed, 11 insertions(+), 3 deletions(-) > > diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c > index 935e8121b21e..b600a6baaeca 100644 > --- a/kernel/cgroup/cgroup.c > +++ b/kernel/cgroup/cgroup.c > @@ -3867,6 +3867,12 @@ static __poll_t cgroup_pressure_poll(struct kernfs_open_file *of, > return psi_trigger_poll(&ctx->psi.trigger, of->file, pt); > } > > +static int cgroup_pressure_open(struct kernfs_open_file *of) > +{ > + return (of->file->f_mode & FMODE_WRITE && !capable(CAP_SYS_RESOURCE)) ? > + -EPERM : 0; > +} I agree with the change, but it's a bit unfortunate that this check is duplicated between system and cgroup. What do you think about psi_trigger_create() taking the file and checking FMODE_WRITE and CAP_SYS_RESOURCE against file->f_cred?