Received: by 2002:a05:7412:419a:b0:f3:1519:9f41 with SMTP id i26csp3541815rdh; Mon, 27 Nov 2023 17:48:23 -0800 (PST) X-Google-Smtp-Source: AGHT+IEU2Y5UvXn0DSJ/oK503Rj/bqxw8vB7vXA4aR2vangBY6qySVm1WKsIE9XQZxqeM95AJSlZ X-Received: by 2002:a05:6830:314e:b0:6d8:2998:7de0 with SMTP id c14-20020a056830314e00b006d829987de0mr5730784ots.10.1701136102870; Mon, 27 Nov 2023 17:48:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701136102; cv=none; d=google.com; s=arc-20160816; b=JbkNfSDovFbWp5JVC4L5Es+vSGUQglfW4IJPrMdWhcnVgMudYKwt6vhhvJq9blD4ed INyou/JnRX7P+P7+/Pi2e3rhyAmwAMVrhruLMV+BY7lW9uZVKCT9cA+6CnUhtoPQo9vS KxcZeWlWOUcFIFwZqhPqrAPPOwQo1K945iwy5mBuw6NvLqx2uWcgUtA9l/zW83Su/QJz XRKnm4Dg3L+iuBumMuYs+/Q4Cc4KfscXJFBzrNu/CoN/l1kyyJrLqZ6NyBjhQ+NFy6vc IiL6RI1iPXedbcGk+ps7GBEhhdaQSWJMMuNR+xJSFM6ZQgbpW6gJb+bsQ7kS+ehBliIg FywA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version; bh=yQzMT2O5ZW1ZNZA/t3kt6u4Y+0KB0xnOZFC7Pzd5xYI=; fh=mH9LkQZmEwofCb3JVDR8HeYYluNfUmDsqHaMhtZRQr4=; b=QxFme+kBKYXHemdxBO0vwjVnNNiESN2nKo/LLp2bJMh3JrjWMDNq+gytNOX21Mb/ma wPvXF70/seq7Hm2V7aLgcNTvflU7LZpdcnPwtWSEB/5dtD0JTW8QJ8ijk9/mGyLncvlR 7dzjAl65frWwzXrDxf//EXrgM7JBTpyPSWsVxFf1qp6Kd/pLBif03qp0gLh1XHoFEVvS ODi9p1h7v7tRKCWrKn7aBQhD0IDHm/o1P4l+4MrwrTkDOB3cy5/NKkMTrkByOvdI3m1b 5FUgfM+jwXOhUPL3iluGBQ4j1Mwux59EJK0UwMI2GfprA2f1J2oSSXE1R8oYsFBOOEu9 5lXw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from groat.vger.email (groat.vger.email. [23.128.96.35]) by mx.google.com with ESMTPS id bw31-20020a056a02049f00b005b91536981csi12407528pgb.11.2023.11.27.17.48.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Nov 2023 17:48:22 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) client-ip=23.128.96.35; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 3BBCC8098FD8; Mon, 27 Nov 2023 17:48:20 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232324AbjK1BsF convert rfc822-to-8bit (ORCPT + 99 others); Mon, 27 Nov 2023 20:48:05 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60992 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229488AbjK1BsE (ORCPT ); Mon, 27 Nov 2023 20:48:04 -0500 Received: from mail-oi1-f181.google.com (mail-oi1-f181.google.com [209.85.167.181]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4C213138; Mon, 27 Nov 2023 17:48:07 -0800 (PST) Received: by mail-oi1-f181.google.com with SMTP id 5614622812f47-3b837d974ecso3095293b6e.2; Mon, 27 Nov 2023 17:48:07 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701136086; x=1701740886; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=JVr3F2hxQwUzP61DpYsFkJ3ETcJcTqVqqeZTUprliR8=; b=xUTX/z2Sw2rW1o/yVrd0h2yysRxMsGTGGdmgLoNCwfyaAAjnPj0nzrAPcvnAR+iERr EKyMNxR2RwZ/uwZvO2CemnjXOUauaE3YMjme9f2e5aPTqac6z81vKlsuNC4XkvPa64vq ljhfNGdhAM31tThyQsCOWBPJVWexyxLOcxEn1DpOc9DbjkMQSBAq2PrNsQihn+0Kua0l P2nbIEMhpaYrX2IbnTFPZamHb/kan2ReIUoajQQ33DLxqmxlUoTMUmY9rPoVnT8JjgX8 EGTPgcp76JMpSWqKSVCSUj4DoaL22jvk6Tj+IQr9zDlgTI0ox5OIAmyvPTACd5iWMRzH Y77A== X-Gm-Message-State: AOJu0YxeTV17EpdiEx9k8HV2eH9sBcwyyTkCx54ustoSP38FivdUS+lp rzEKbYeIapA6Qr5RAPFjjWv074ZL0irctc7eO5k= X-Received: by 2002:a05:6871:296:b0:1fa:3b7d:1573 with SMTP id i22-20020a056871029600b001fa3b7d1573mr8676008oae.7.1701136086592; Mon, 27 Nov 2023 17:48:06 -0800 (PST) MIME-Version: 1.0 References: <20231003050751.525932-1-wyes.karny@amd.com> In-Reply-To: <20231003050751.525932-1-wyes.karny@amd.com> From: Len Brown Date: Mon, 27 Nov 2023 20:47:55 -0500 Message-ID: Subject: Re: [PATCH v2] tools/power turbostat: Increase the limit for fd opened To: Wyes Karny Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Doug Smythies Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8BIT X-Spam-Status: No, score=-1.0 required=5.0 tests=MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Mon, 27 Nov 2023 17:48:20 -0800 (PST) Applied Thanks Wyes! On Tue, Oct 3, 2023 at 1:08 AM Wyes Karny wrote: > > When running turbostat, a system with 512 cpus reaches the limit for > maximum number of file descriptors that can be opened. To solve this > problem, the limit is raised to 2^15, which is a large enough number. > > Below data is collected from AMD server systems while running turbostat: > > |-----------+-------------------------------| > | # of cpus | # of opened fds for turbostat | > |-----------+-------------------------------| > | 128 | 260 | > |-----------+-------------------------------| > | 192 | 388 | > |-----------+-------------------------------| > | 512 | 1028 | > |-----------+-------------------------------| > > So, the new max limit would be sufficient up to 2^14 cpus (but this > also depends on how many counters are enabled). > > Reviewed-by: Doug Smythies > Tested-by: Doug Smythies > Signed-off-by: Wyes Karny > --- > v1 -> v2: > - Take care of already higher rlim_max, rlim_curr > - Minor tweak in commit text > > tools/power/x86/turbostat/turbostat.c | 21 +++++++++++++++++++++ > 1 file changed, 21 insertions(+) > > diff --git a/tools/power/x86/turbostat/turbostat.c b/tools/power/x86/turbostat/turbostat.c > index 9a10512e3407..1563a0ae7e4c 100644 > --- a/tools/power/x86/turbostat/turbostat.c > +++ b/tools/power/x86/turbostat/turbostat.c > @@ -53,6 +53,8 @@ > #define NAME_BYTES 20 > #define PATH_BYTES 128 > > +#define MAX_NOFILE 0x8000 > + > enum counter_scope { SCOPE_CPU, SCOPE_CORE, SCOPE_PACKAGE }; > enum counter_type { COUNTER_ITEMS, COUNTER_CYCLES, COUNTER_SECONDS, COUNTER_USEC }; > enum counter_format { FORMAT_RAW, FORMAT_DELTA, FORMAT_PERCENT }; > @@ -6717,6 +6719,22 @@ void cmdline(int argc, char **argv) > } > } > > +void set_rlimit(void) > +{ > + struct rlimit limit; > + > + if (getrlimit(RLIMIT_NOFILE, &limit) < 0) > + err(1, "Failed to get rlimit"); > + > + if (limit.rlim_max < MAX_NOFILE) > + limit.rlim_max = MAX_NOFILE; > + if (limit.rlim_cur < MAX_NOFILE) > + limit.rlim_cur = MAX_NOFILE; > + > + if (setrlimit(RLIMIT_NOFILE, &limit) < 0) > + err(1, "Failed to set rlimit"); > +} > + > int main(int argc, char **argv) > { > outf = stderr; > @@ -6729,6 +6747,9 @@ int main(int argc, char **argv) > > probe_sysfs(); > > + if (!getuid()) > + set_rlimit(); > + > turbostat_init(); > > msr_sum_record(); > -- > 2.34.1 > -- Len Brown, Intel