From: Lennart Poettering Date: Thu, 25 Oct 2018 19:16:47 +0000 (+0200) Subject: fs-util: increase start buffer size in readlinkat_malloc() X-Git-Tag: v240~471^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8e060ec225b74bbf22e5bdbacd604efcc73294c0;p=thirdparty%2Fsystemd.git fs-util: increase start buffer size in readlinkat_malloc() I noticed while profiling journald that we invoke readlinkat() a ton on open /proc/self/fd/, and that the returned paths are more often than not longer than the 99 chars used before, when we look at archived journal files. This means for these cases we generally need to execute two rather than one syscalls. Let's increase the buffer size a tiny bit, so that we reduce the number of syscalls executed. This is really a low-hanging fruit of optimization. --- diff --git a/src/basic/fs-util.c b/src/basic/fs-util.c index fd195182712..55651baa80c 100644 --- a/src/basic/fs-util.c +++ b/src/basic/fs-util.c @@ -132,7 +132,7 @@ int rename_noreplace(int olddirfd, const char *oldpath, int newdirfd, const char } int readlinkat_malloc(int fd, const char *p, char **ret) { - size_t l = 100; + size_t l = FILENAME_MAX+1; int r; assert(p);