All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jaroslav Skarvada <jskarvad at redhat.com>
To: powertop@lists.01.org
Subject: Re: [Powertop] patch: tell user if the system is running out of FDs
Date: Mon, 07 Oct 2013 09:12:38 -0400	[thread overview]
Message-ID: <23016151.2470223.1381151558300.JavaMail.root@redhat.com> (raw)
In-Reply-To: 20130919204126.GB2307@swordfish

[-- Attachment #1: Type: text/plain, Size: 1914 bytes --]



----- Original Message -----
> On (09/19/13 11:23), Jaroslav Skarvada wrote:
> > Hi,
> > 
> > complex servers can run out of FDs easily (due to perf).
> > In such case tell user that more FDs are needed instead
> > of the generic message (that kernel doesn't support
> > the perf)
> 
> Hello Jaroslav,
> Thank you for your patch.
> 
> Youquan Song proposed to change RLIMIT_NOFILE in "[PATCH] Fix running
> failure when > 69 CPUs for open file limitation" some time ago
> (v1 of the patch
> https://lists.01.org/pipermail/powertop/2013-May/000850.html)
> 
> after some thinking I've merged Youquan's patch to powertop2-next tree
> https://github.com/sergey-senozhatsky/powertop2-next/commit/4cbb957605818dc7e4b7932dafac0aad5ed0b87a
> 
> (not upstreamed yet).
> 
> while I don't really want to unlimit fds, at the same time from the user's
> point of view it'd better to handle it `transparently'. I think most likely
> user
> will react with `ulimit -n unlimited' to any powertop rlimited fds message,
> since
> he/she really does not control (+does not care about) the number of opened
> fds.
> 
> thanks,
> 	-ss
> 

Hi,

I used Youquan's patch, but we have noticed that it can only overcome soft limits,
but not hard limits. E.g. on Fedora (and probably others) there is a soft limit
of 1024 and a hard limit of 4096, so if powertop opens at least 15 file descriptors
per CPU, then this will fail on a system with >273 CPUs.

In case you think we can also temporally increase the hard limit (as we already have
the privilege), the attached patch will do it. In case you think the hard limits set by
the system administrator are untouchable (e.g. violation of system resources hard limits
could result in a bad effects like explosion in a nuclear power plant :), the
previously sent patch that fixes the error message needs to be also used

regards

Jaroslav

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: powertop-2.4-unlimit-fds.patch --]
[-- Type: text/x-patch, Size: 730 bytes --]

diff --git a/src/main.cpp b/src/main.cpp
index 0883424..e0e8a71 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -36,6 +36,8 @@
 #include <getopt.h>
 #include <unistd.h>
 #include <locale.h>
+#include <sys/resource.h>
+#include <linux/limits.h>
 
 #include "cpu/cpu.h"
 #include "process/process.h"
@@ -283,11 +285,16 @@ static void powertop_init(void)
 	static char initialized = 0;
 	int ret;
 	struct statfs st_fs;
+	struct rlimit rlmt;
 
 	if (initialized)
 		return;
 
 	checkroot();
+
+	rlmt.rlim_cur = rlmt.rlim_max = NR_OPEN;
+	setrlimit (RLIMIT_NOFILE, &rlmt);
+
 	ret = system("/sbin/modprobe cpufreq_stats > /dev/null 2>&1");
 	ret = system("/sbin/modprobe msr > /dev/null 2>&1");
 	statfs("/sys/kernel/debug", &st_fs);

             reply	other threads:[~2013-10-07 13:12 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-07 13:12 Jaroslav Skarvada [this message]
  -- strict thread matches above, loose matches on Subject: below --
2013-10-08 13:21 [Powertop] patch: tell user if the system is running out of FDs Sergey Senozhatsky
2013-10-08 12:56 Jaroslav Skarvada
2013-10-08 12:49 Sergey Senozhatsky
2013-10-08 12:08 Jaroslav Skarvada
2013-10-07 14:05 Sergey Senozhatsky
2013-09-19 20:41 Sergey Senozhatsky
2013-09-19 15:23 Jaroslav Skarvada

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=23016151.2470223.1381151558300.JavaMail.root@redhat.com \
    --to=powertop@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.