Rasmus Villemoes
209b14dc03
fs/proc/array.c: slightly improve render_sigset_t
...
format_decode and vsnprintf occasionally show up in perf top, so I went
looking for places that might not need the full printf power. With the
help of kprobes, I gathered some statistics on which format strings we
mostly pass to vsnprintf. On a trivial desktop workload, I hit "%x" 25%
of the time, so something apparently reads /proc/pid/status (which does
5*16 printf("%x") calls) a lot.
With this patch, reading /proc/pid/status is 30% faster according to
this microbenchmark:
char buf[4096];
int i, fd;
for (i = 0; i < 10000; ++i) {
fd = open("/proc/self/status", O_RDONLY);
read(fd, buf, sizeof(buf));
close(fd);
}
Link: http://lkml.kernel.org/r/1474410485-1305-1-git-send-email-linux@rasmusvillemoes.dk
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Acked-by: Andrei Vagin <avagin@openvz.org>
Acked-by: Kees Cook <keescook@chromium.org>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-12-12 18:55:09 -08:00
..
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2016-10-13 17:03:52 +01:00
2016-10-11 15:06:31 -07:00
2016-10-15 12:09:13 -07:00
2016-10-10 23:02:51 -04:00
2016-11-04 20:08:16 -07:00
2016-10-10 20:16:43 -07:00
2016-12-08 14:32:16 +01:00
2016-11-28 23:08:53 -06:00
2016-10-10 20:16:43 -07:00
2016-10-10 23:02:51 -04:00
2016-05-09 11:41:14 -04:00
2016-11-19 20:56:13 -05:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2016-10-27 16:16:09 -04:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2016-05-20 17:58:30 -07:00
2016-10-27 18:43:43 -07:00
2016-10-06 09:07:44 -04:00
2016-10-18 11:29:35 +02:00
2016-11-19 20:58:15 -05:00
2016-10-18 14:15:23 -07:00
2016-10-10 20:16:43 -07:00
2016-06-13 10:20:39 +02:00
2016-06-30 23:34:49 -04:00
2016-12-06 16:18:45 +01:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2016-11-30 10:41:26 -08:00
2016-10-12 23:19:18 -04:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2016-10-27 17:47:11 +02:00
2016-11-18 10:59:15 -05:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2016-11-26 23:42:21 -05:00
2016-11-18 10:59:15 -05:00
2016-11-18 10:59:15 -05:00
2016-10-10 20:16:43 -07:00
2016-10-07 18:46:26 -07:00
2016-10-30 13:09:42 -04:00
2016-12-12 18:55:06 -08:00
2016-10-10 20:16:43 -07:00
2016-09-27 21:06:21 -04:00
2016-11-16 11:52:19 -05:00
2016-11-29 10:20:24 +01:00
2016-12-12 18:55:09 -08:00
2016-10-10 20:16:43 -07:00
2016-05-09 11:41:14 -04:00
2016-05-09 11:41:14 -04:00
2016-10-27 16:16:09 -04:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2016-05-09 11:41:15 -04:00
2016-10-07 21:48:36 -04:00
2016-10-14 12:18:50 -07:00
2016-10-10 20:16:43 -07:00
2016-09-27 21:06:21 -04:00
2016-10-28 14:48:31 +02:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2016-10-24 14:21:18 +11:00
2016-10-30 13:09:42 -04:00
2016-10-10 20:16:43 -07:00
2016-10-10 20:16:43 -07:00
2016-05-28 16:34:59 -07:00
2016-07-25 16:51:49 +10:00
2016-09-14 21:28:10 +02:00
2016-08-02 19:35:15 -04:00
2016-07-28 13:29:12 +10:00
2016-09-27 21:06:22 -04:00
2016-10-11 15:06:30 -07:00
2016-10-11 15:06:33 -07:00
2016-08-23 22:58:51 -07:00
2016-09-24 09:27:18 +02:00
2016-09-27 21:20:53 -04:00
2016-11-11 08:12:37 -08:00
2016-12-12 18:55:08 -08:00
2016-08-07 10:01:14 -04:00
2016-10-03 20:38:55 -04:00
2016-05-19 19:12:14 -07:00
2016-10-19 08:12:02 -07:00
2016-09-27 18:47:38 -04:00
2016-12-12 18:55:08 -08:00
2016-10-10 20:16:43 -07:00
2016-10-10 13:04:49 -07:00
2016-09-15 13:29:52 -07:00
2016-10-24 14:20:25 +11:00
2016-10-07 18:46:29 -07:00
2016-08-12 16:47:05 +01:00
2016-10-10 20:16:43 -07:00
2016-10-18 12:21:28 +02:00
2016-06-21 09:23:11 +10:00
2016-08-31 11:44:36 -04:00
2016-09-30 12:46:48 -05:00
2016-08-07 14:41:02 -06:00
2016-10-14 17:23:33 -07:00
2016-10-15 10:03:15 -07:00
2016-10-31 10:56:36 -04:00
2016-10-13 20:28:22 -07:00
2016-10-11 15:06:32 -07:00
2016-09-30 12:46:48 -05:00
2016-09-30 12:46:48 -05:00
2016-10-10 20:16:43 -07:00
2016-10-14 20:00:34 -04:00
2016-05-26 00:13:25 -04:00
2016-10-11 15:06:30 -07:00
2016-10-07 18:46:30 -07:00
2016-11-26 20:05:42 -05:00
2016-10-14 20:41:59 -04:00
2016-06-09 23:42:38 +02:00
2016-07-26 16:19:19 -07:00
2016-10-08 11:06:08 -04:00
2016-11-17 00:00:23 -05:00