public inbox for fstests@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] generic/084: check inotify limit before tail many files
@ 2015-08-13 16:16 Zorro Lang
  2015-08-14  6:58 ` Eryu Guan
  2015-08-17  0:03 ` Dave Chinner
  0 siblings, 2 replies; 6+ messages in thread
From: Zorro Lang @ 2015-08-13 16:16 UTC (permalink / raw)
  To: fstests; +Cc: eguan, Zorro Lang

generic/084 try to run 'tail' command, tail will use
inotify, and there're some limit about inotify. I think
the most important is fs.inotify.max_user_instances, then
fs.inotify.max_user_watches is importand too.

When I test on a machine with 154 cpu cores, this case
run failed, and hit many warning likes:

    tail: inotify cannot be used, reverting to polling: Too many
    open files

Because the fs.inotify.max_user_instances is 128, so if
we try to tail 154 files, it will be failed.

Of course, open files limit will effect this too. But generally
max_user_instances is the minimum number, so I don't check open
file limit.

Signed-off-by: Zorro Lang <zlang@redhat.com>
---
 tests/generic/084 | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/tests/generic/084 b/tests/generic/084
index 3fec6c2..f34d4b2 100755
--- a/tests/generic/084
+++ b/tests/generic/084
@@ -63,6 +63,15 @@ link_unlink_storm()
 
 rm -f $seqres.full
 nr_cpu=`$here/src/feature -o`
+user_watches=`sysctl -n fs.inotify.max_user_watches`
+user_instances=`sysctl -n fs.inotify.max_user_instances`
+
+user_limit=$((user_watches > user_instances ? user_instances : user_watches))
+if [ $nr_cpu -ge $((user_limit/2)) ]
+then
+	nr_cpu=$((user_limit/2))
+fi
+
 echo "Silence is golden"
 
 _scratch_mkfs >>$seqres.full 2>&1
-- 
1.9.3


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-08-17 13:55 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-13 16:16 [PATCH] generic/084: check inotify limit before tail many files Zorro Lang
2015-08-14  6:58 ` Eryu Guan
2015-08-17  0:03 ` Dave Chinner
2015-08-17  1:05   ` Zirong Lang
2015-08-17  5:06     ` Dave Chinner
2015-08-17 13:55       ` Zirong Lang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox