beyondgrep / ack2

**ack 2 is no longer being maintained. ack 3 is the latest version.**
https://github.com/beyondgrep/ack3/
Other
1.48k stars 140 forks source link

ack2.08 slower than ack 1.96 when searching in Linux kernel. #339

Closed kojustin closed 8 years ago

kojustin commented 11 years ago

I've noticed that ack2 feels significantly slower than ack1 in a lot of uses. Here's one particular test case. With the current Linux stable kernel 3.10.9, the following query is 3x slower with ack2.08 vs. ack1.96

Download tar -xf linux-3.10.9.tar.xz from https://www.kernel.org/. Then...

bulleit:~/Downloads justin.ko$ tar -xf linux-3.10.9.tar.xz
bulleit:~/Downloads justin.ko$ cd linux-3.10.9
bulleit:~/Downloads/linux-3.10.9 justin.ko$ ack --version
ack 2.08 (git commit 0c5f694)
Running under Perl 5.12.4 at /usr/bin/perl

Copyright 2005-2013 Andy Lester.

This program is free software.  You may modify or distribute it
under the terms of the Artistic License v2.0.
bulleit:~/Downloads/linux-3.10.9 justin.ko$ time ack -k FUSE_LINK fs
fs/fuse/dir.c
823:    req->in.h.opcode = FUSE_LINK;

real    0m1.553s
user    0m1.480s
sys 0m0.070s
bulleit:~/Downloads/linux-3.10.9 justin.ko$ ack_old --version
ack 1.96
Running under Perl 5.12.4 at /usr/bin/perl

Copyright 2005-2011 Andy Lester.

This program is free software.  You may modify or distribute it
under the terms of the Artistic License v2.0.
bulleit:~/Downloads/linux-3.10.9 justin.ko$ time ack_old FUSE_LINK fs
fs/fuse/dir.c
823:    req->in.h.opcode = FUSE_LINK;

real    0m0.549s
user    0m0.512s
sys 0m0.036s
azawawi commented 11 years ago

Have you tried benchmarking that performance regression with newer perls?

kojustin commented 11 years ago

@azawawi, no I haven't I'm just using the default perl that came on my machine. Current stable perl is 5.18. Do you think that would make a difference? The test I ran above were running against the same version of perl.

azawawi commented 11 years ago

Ok I will double check it on win32 and linux to verify the performance regression on perl-5.12.4 and perl-5.18.1.

The file in question is the following extracted archive: ftp://ftp.kernel.org/pub/linux/kernel/v3.x/linux-3.10.9.tar.bz2

azawawi commented 11 years ago

Sorry for being late on this one. I can confirm this performance regression on perl-5.18.1 and perl-5.12.4. Please note that my i7 machine has 16GB RAM so file system caching can skew numbers a bit.

The following is the edited output for Perl v5.18.1:

# App::Ack 1.96
$ time ack FUSE_LINK fs
real    0m0.420s
user    0m0.376s
sys     0m0.024s

# App::Ack@2.08
$ ack FUSE_LINK fs
real    0m1.098s
user    0m1.060s
sys     0m0.028s

The following is the edited output for Perl 5.12.4:

# App::Ack@1.96
$ ack FUSE_LINK fs
real    0m0.053s
user    0m0.016s
sys     0m0.008s

# App::Ack@2.08
$ time ack -k FUSE_LINK fs
real    0m1.100s
user    0m1.040s
sys     0m0.044s
azawawi commented 11 years ago

NYTProf shows that App::Ack 1.96 calls next_text 251896 while App::Ack 2.08 calls does_match 1106050 times. Maybe file filters are different?

azawawi commented 11 years ago

strace-ing it.

$ strace -e trace=file ack -k FUSE_LINK fs | grep "Kconfig"

Basically App::Ack 2.08 is opening the same file a lot. For example open("fs/btrfs/Kconfig", O_RDONLY) = 3). Rough estimate is 7 to 2 file open operations for App::Ack 2.08 versus App::Ack 1.96.

lstat("fs/Kconfig", {st_mode=S_IFREG|0664, st_size=6113, ...}) = 0
lstat("fs/Kconfig.binfmt", {st_mode=S_IFREG|0664, st_size=7416, ...}) = 0
lstat("fs/reiserfs/Kconfig", {st_mode=S_IFREG|0664, st_size=3421, ...}) = 0
stat("fs/reiserfs/Kconfig", {st_mode=S_IFREG|0664, st_size=3421, ...}) = 0
stat("fs/reiserfs/Kconfig", {st_mode=S_IFREG|0664, st_size=3421, ...}) = 0
stat("fs/reiserfs/Kconfig", {st_mode=S_IFREG|0664, st_size=3421, ...}) = 0
open("fs/reiserfs/Kconfig", O_RDONLY)   = 3
open("fs/reiserfs/Kconfig", O_RDONLY)   = 3
open("fs/reiserfs/Kconfig", O_RDONLY)   = 3
open("fs/reiserfs/Kconfig", O_RDONLY)   = 3
open("fs/reiserfs/Kconfig", O_RDONLY)   = 3
open("fs/reiserfs/Kconfig", O_RDONLY)   = 3
open("fs/reiserfs/Kconfig", O_RDONLY)   = 3
lstat("fs/proc/Kconfig", {st_mode=S_IFREG|0664, st_size=2861, ...}) = 0
stat("fs/proc/Kconfig", {st_mode=S_IFREG|0664, st_size=2861, ...}) = 0
stat("fs/proc/Kconfig", {st_mode=S_IFREG|0664, st_size=2861, ...}) = 0
stat("fs/proc/Kconfig", {st_mode=S_IFREG|0664, st_size=2861, ...}) = 0
open("fs/proc/Kconfig", O_RDONLY)       = 3
open("fs/proc/Kconfig", O_RDONLY)       = 3
open("fs/proc/Kconfig", O_RDONLY)       = 3
open("fs/proc/Kconfig", O_RDONLY)       = 3
open("fs/proc/Kconfig", O_RDONLY)       = 3
open("fs/proc/Kconfig", O_RDONLY)       = 3
open("fs/proc/Kconfig", O_RDONLY)       = 3
lstat("fs/sysv/Kconfig", {st_mode=S_IFREG|0664, st_size=1716, ...}) = 0
stat("fs/sysv/Kconfig", {st_mode=S_IFREG|0664, st_size=1716, ...}) = 0
stat("fs/sysv/Kconfig", {st_mode=S_IFREG|0664, st_size=1716, ...}) = 0
stat("fs/sysv/Kconfig", {st_mode=S_IFREG|0664, st_size=1716, ...}) = 0
open("fs/sysv/Kconfig", O_RDONLY)       = 3
open("fs/sysv/Kconfig", O_RDONLY)       = 3
open("fs/sysv/Kconfig", O_RDONLY)       = 3
open("fs/sysv/Kconfig", O_RDONLY)       = 3
open("fs/sysv/Kconfig", O_RDONLY)       = 3
open("fs/sysv/Kconfig", O_RDONLY)       = 3
open("fs/sysv/Kconfig", O_RDONLY)       = 3
lstat("fs/afs/Kconfig", {st_mode=S_IFREG|0664, st_size=827, ...}) = 0
stat("fs/afs/Kconfig", {st_mode=S_IFREG|0664, st_size=827, ...}) = 0
stat("fs/afs/Kconfig", {st_mode=S_IFREG|0664, st_size=827, ...}) = 0
stat("fs/afs/Kconfig", {st_mode=S_IFREG|0664, st_size=827, ...}) = 0
open("fs/afs/Kconfig", O_RDONLY)        = 3
open("fs/afs/Kconfig", O_RDONLY)        = 3
open("fs/afs/Kconfig", O_RDONLY)        = 3
open("fs/afs/Kconfig", O_RDONLY)        = 3
open("fs/afs/Kconfig", O_RDONLY)        = 3
open("fs/afs/Kconfig", O_RDONLY)        = 3
open("fs/afs/Kconfig", O_RDONLY)        = 3
lstat("fs/jffs2/Kconfig", {st_mode=S_IFREG|0664, st_size=5796, ...}) = 0
stat("fs/jffs2/Kconfig", {st_mode=S_IFREG|0664, st_size=5796, ...}) = 0
stat("fs/jffs2/Kconfig", {st_mode=S_IFREG|0664, st_size=5796, ...}) = 0
stat("fs/jffs2/Kconfig", {st_mode=S_IFREG|0664, st_size=5796, ...}) = 0
open("fs/jffs2/Kconfig", O_RDONLY)      = 3
open("fs/jffs2/Kconfig", O_RDONLY)      = 3
open("fs/jffs2/Kconfig", O_RDONLY)      = 3
open("fs/jffs2/Kconfig", O_RDONLY)      = 3
open("fs/jffs2/Kconfig", O_RDONLY)      = 3
open("fs/jffs2/Kconfig", O_RDONLY)      = 3
open("fs/jffs2/Kconfig", O_RDONLY)      = 3
lstat("fs/ncpfs/Kconfig", {st_mode=S_IFREG|0664, st_size=4189, ...}) = 0
stat("fs/ncpfs/Kconfig", {st_mode=S_IFREG|0664, st_size=4189, ...}) = 0
stat("fs/ncpfs/Kconfig", {st_mode=S_IFREG|0664, st_size=4189, ...}) = 0
stat("fs/ncpfs/Kconfig", {st_mode=S_IFREG|0664, st_size=4189, ...}) = 0
open("fs/ncpfs/Kconfig", O_RDONLY)      = 3
open("fs/ncpfs/Kconfig", O_RDONLY)      = 3
open("fs/ncpfs/Kconfig", O_RDONLY)      = 3
open("fs/ncpfs/Kconfig", O_RDONLY)      = 3
open("fs/ncpfs/Kconfig", O_RDONLY)      = 3
open("fs/ncpfs/Kconfig", O_RDONLY)      = 3
open("fs/ncpfs/Kconfig", O_RDONLY)      = 3
lstat("fs/pstore/Kconfig", {st_mode=S_IFREG|0664, st_size=1601, ...}) = 0
stat("fs/pstore/Kconfig", {st_mode=S_IFREG|0664, st_size=1601, ...}) = 0
stat("fs/pstore/Kconfig", {st_mode=S_IFREG|0664, st_size=1601, ...}) = 0
stat("fs/pstore/Kconfig", {st_mode=S_IFREG|0664, st_size=1601, ...}) = 0
open("fs/pstore/Kconfig", O_RDONLY)     = 3
open("fs/pstore/Kconfig", O_RDONLY)     = 3
open("fs/pstore/Kconfig", O_RDONLY)     = 3
open("fs/pstore/Kconfig", O_RDONLY)     = 3
open("fs/pstore/Kconfig", O_RDONLY)     = 3
open("fs/pstore/Kconfig", O_RDONLY)     = 3
open("fs/pstore/Kconfig", O_RDONLY)     = 3
lstat("fs/qnx4/Kconfig", {st_mode=S_IFREG|0664, st_size=518, ...}) = 0
stat("fs/qnx4/Kconfig", {st_mode=S_IFREG|0664, st_size=518, ...}) = 0
stat("fs/qnx4/Kconfig", {st_mode=S_IFREG|0664, st_size=518, ...}) = 0
stat("fs/qnx4/Kconfig", {st_mode=S_IFREG|0664, st_size=518, ...}) = 0
open("fs/qnx4/Kconfig", O_RDONLY)       = 3
open("fs/qnx4/Kconfig", O_RDONLY)       = 3
open("fs/qnx4/Kconfig", O_RDONLY)       = 3
open("fs/qnx4/Kconfig", O_RDONLY)       = 3
open("fs/qnx4/Kconfig", O_RDONLY)       = 3
open("fs/qnx4/Kconfig", O_RDONLY)       = 3
open("fs/qnx4/Kconfig", O_RDONLY)       = 3
lstat("fs/configfs/Kconfig", {st_mode=S_IFREG|0664, st_size=447, ...}) = 0
stat("fs/configfs/Kconfig", {st_mode=S_IFREG|0664, st_size=447, ...}) = 0
stat("fs/configfs/Kconfig", {st_mode=S_IFREG|0664, st_size=447, ...}) = 0
stat("fs/configfs/Kconfig", {st_mode=S_IFREG|0664, st_size=447, ...}) = 0
open("fs/configfs/Kconfig", O_RDONLY)   = 3
open("fs/configfs/Kconfig", O_RDONLY)   = 3
open("fs/configfs/Kconfig", O_RDONLY)   = 3
open("fs/configfs/Kconfig", O_RDONLY)   = 3
open("fs/configfs/Kconfig", O_RDONLY)   = 3
open("fs/configfs/Kconfig", O_RDONLY)   = 3
open("fs/configfs/Kconfig", O_RDONLY)   = 3
lstat("fs/efs/Kconfig", {st_mode=S_IFREG|0664, st_size=599, ...}) = 0
stat("fs/efs/Kconfig", {st_mode=S_IFREG|0664, st_size=599, ...}) = 0
stat("fs/efs/Kconfig", {st_mode=S_IFREG|0664, st_size=599, ...}) = 0
stat("fs/efs/Kconfig", {st_mode=S_IFREG|0664, st_size=599, ...}) = 0
open("fs/efs/Kconfig", O_RDONLY)        = 3
open("fs/efs/Kconfig", O_RDONLY)        = 3
open("fs/efs/Kconfig", O_RDONLY)        = 3
open("fs/efs/Kconfig", O_RDONLY)        = 3
open("fs/efs/Kconfig", O_RDONLY)        = 3
open("fs/efs/Kconfig", O_RDONLY)        = 3
open("fs/efs/Kconfig", O_RDONLY)        = 3
lstat("fs/fuse/Kconfig", {st_mode=S_IFREG|0664, st_size=956, ...}) = 0
stat("fs/fuse/Kconfig", {st_mode=S_IFREG|0664, st_size=956, ...}) = 0
stat("fs/fuse/Kconfig", {st_mode=S_IFREG|0664, st_size=956, ...}) = 0
stat("fs/fuse/Kconfig", {st_mode=S_IFREG|0664, st_size=956, ...}) = 0
open("fs/fuse/Kconfig", O_RDONLY)       = 3
open("fs/fuse/Kconfig", O_RDONLY)       = 3
open("fs/fuse/Kconfig", O_RDONLY)       = 3
open("fs/fuse/Kconfig", O_RDONLY)       = 3
open("fs/fuse/Kconfig", O_RDONLY)       = 3
open("fs/fuse/Kconfig", O_RDONLY)       = 3
open("fs/fuse/Kconfig", O_RDONLY)       = 3
lstat("fs/ufs/Kconfig", {st_mode=S_IFREG|0664, st_size=1766, ...}) = 0
stat("fs/ufs/Kconfig", {st_mode=S_IFREG|0664, st_size=1766, ...}) = 0
stat("fs/ufs/Kconfig", {st_mode=S_IFREG|0664, st_size=1766, ...}) = 0
stat("fs/ufs/Kconfig", {st_mode=S_IFREG|0664, st_size=1766, ...}) = 0
open("fs/ufs/Kconfig", O_RDONLY)        = 3
open("fs/ufs/Kconfig", O_RDONLY)        = 3
open("fs/ufs/Kconfig", O_RDONLY)        = 3
open("fs/ufs/Kconfig", O_RDONLY)        = 3
open("fs/ufs/Kconfig", O_RDONLY)        = 3
open("fs/ufs/Kconfig", O_RDONLY)        = 3
open("fs/ufs/Kconfig", O_RDONLY)        = 3
lstat("fs/coda/Kconfig", {st_mode=S_IFREG|0664, st_size=1003, ...}) = 0
stat("fs/coda/Kconfig", {st_mode=S_IFREG|0664, st_size=1003, ...}) = 0
stat("fs/coda/Kconfig", {st_mode=S_IFREG|0664, st_size=1003, ...}) = 0
stat("fs/coda/Kconfig", {st_mode=S_IFREG|0664, st_size=1003, ...}) = 0
open("fs/coda/Kconfig", O_RDONLY)       = 3
open("fs/coda/Kconfig", O_RDONLY)       = 3
open("fs/coda/Kconfig", O_RDONLY)       = 3
open("fs/coda/Kconfig", O_RDONLY)       = 3
open("fs/coda/Kconfig", O_RDONLY)       = 3
open("fs/coda/Kconfig", O_RDONLY)       = 3
open("fs/coda/Kconfig", O_RDONLY)       = 3
lstat("fs/ocfs2/Kconfig", {st_mode=S_IFREG|0664, st_size=2508, ...}) = 0
stat("fs/ocfs2/Kconfig", {st_mode=S_IFREG|0664, st_size=2508, ...}) = 0
stat("fs/ocfs2/Kconfig", {st_mode=S_IFREG|0664, st_size=2508, ...}) = 0
stat("fs/ocfs2/Kconfig", {st_mode=S_IFREG|0664, st_size=2508, ...}) = 0
open("fs/ocfs2/Kconfig", O_RDONLY)      = 3
open("fs/ocfs2/Kconfig", O_RDONLY)      = 3
open("fs/ocfs2/Kconfig", O_RDONLY)      = 3
open("fs/ocfs2/Kconfig", O_RDONLY)      = 3
open("fs/ocfs2/Kconfig", O_RDONLY)      = 3
open("fs/ocfs2/Kconfig", O_RDONLY)      = 3
open("fs/ocfs2/Kconfig", O_RDONLY)      = 3
lstat("fs/notify/Kconfig", {st_mode=S_IFREG|0664, st_size=135, ...}) = 0
lstat("fs/notify/fanotify/Kconfig", {st_mode=S_IFREG|0664, st_size=870, ...}) = 0
stat("fs/notify/fanotify/Kconfig", {st_mode=S_IFREG|0664, st_size=870, ...}) = 0
stat("fs/notify/fanotify/Kconfig", {st_mode=S_IFREG|0664, st_size=870, ...}) = 0
stat("fs/notify/fanotify/Kconfig", {st_mode=S_IFREG|0664, st_size=870, ...}) = 0
open("fs/notify/fanotify/Kconfig", O_RDONLY) = 3
open("fs/notify/fanotify/Kconfig", O_RDONLY) = 3
open("fs/notify/fanotify/Kconfig", O_RDONLY) = 3
open("fs/notify/fanotify/Kconfig", O_RDONLY) = 3
open("fs/notify/fanotify/Kconfig", O_RDONLY) = 3
open("fs/notify/fanotify/Kconfig", O_RDONLY) = 3
open("fs/notify/fanotify/Kconfig", O_RDONLY) = 3
lstat("fs/notify/inotify/Kconfig", {st_mode=S_IFREG|0664, st_size=649, ...}) = 0
stat("fs/notify/inotify/Kconfig", {st_mode=S_IFREG|0664, st_size=649, ...}) = 0
stat("fs/notify/inotify/Kconfig", {st_mode=S_IFREG|0664, st_size=649, ...}) = 0
stat("fs/notify/inotify/Kconfig", {st_mode=S_IFREG|0664, st_size=649, ...}) = 0
open("fs/notify/inotify/Kconfig", O_RDONLY) = 3
open("fs/notify/inotify/Kconfig", O_RDONLY) = 3
open("fs/notify/inotify/Kconfig", O_RDONLY) = 3
open("fs/notify/inotify/Kconfig", O_RDONLY) = 3
open("fs/notify/inotify/Kconfig", O_RDONLY) = 3
open("fs/notify/inotify/Kconfig", O_RDONLY) = 3
open("fs/notify/inotify/Kconfig", O_RDONLY) = 3
stat("fs/notify/Kconfig", {st_mode=S_IFREG|0664, st_size=135, ...}) = 0
stat("fs/notify/Kconfig", {st_mode=S_IFREG|0664, st_size=135, ...}) = 0
stat("fs/notify/Kconfig", {st_mode=S_IFREG|0664, st_size=135, ...}) = 0
open("fs/notify/Kconfig", O_RDONLY)     = 3
open("fs/notify/Kconfig", O_RDONLY)     = 3
open("fs/notify/Kconfig", O_RDONLY)     = 3
open("fs/notify/Kconfig", O_RDONLY)     = 3
open("fs/notify/Kconfig", O_RDONLY)     = 3
open("fs/notify/Kconfig", O_RDONLY)     = 3
open("fs/notify/Kconfig", O_RDONLY)     = 3
lstat("fs/notify/dnotify/Kconfig", {st_mode=S_IFREG|0664, st_size=315, ...}) = 0
stat("fs/notify/dnotify/Kconfig", {st_mode=S_IFREG|0664, st_size=315, ...}) = 0
stat("fs/notify/dnotify/Kconfig", {st_mode=S_IFREG|0664, st_size=315, ...}) = 0
stat("fs/notify/dnotify/Kconfig", {st_mode=S_IFREG|0664, st_size=315, ...}) = 0
open("fs/notify/dnotify/Kconfig", O_RDONLY) = 3
open("fs/notify/dnotify/Kconfig", O_RDONLY) = 3
open("fs/notify/dnotify/Kconfig", O_RDONLY) = 3
open("fs/notify/dnotify/Kconfig", O_RDONLY) = 3
open("fs/notify/dnotify/Kconfig", O_RDONLY) = 3
open("fs/notify/dnotify/Kconfig", O_RDONLY) = 3
open("fs/notify/dnotify/Kconfig", O_RDONLY) = 3
lstat("fs/isofs/Kconfig", {st_mode=S_IFREG|0664, st_size=1747, ...}) = 0
stat("fs/isofs/Kconfig", {st_mode=S_IFREG|0664, st_size=1747, ...}) = 0
stat("fs/isofs/Kconfig", {st_mode=S_IFREG|0664, st_size=1747, ...}) = 0
stat("fs/isofs/Kconfig", {st_mode=S_IFREG|0664, st_size=1747, ...}) = 0
open("fs/isofs/Kconfig", O_RDONLY)      = 3
open("fs/isofs/Kconfig", O_RDONLY)      = 3
open("fs/isofs/Kconfig", O_RDONLY)      = 3
open("fs/isofs/Kconfig", O_RDONLY)      = 3
open("fs/isofs/Kconfig", O_RDONLY)      = 3
open("fs/isofs/Kconfig", O_RDONLY)      = 3
open("fs/isofs/Kconfig", O_RDONLY)      = 3
lstat("fs/ext2/Kconfig", {st_mode=S_IFREG|0664, st_size=1736, ...}) = 0
stat("fs/ext2/Kconfig", {st_mode=S_IFREG|0664, st_size=1736, ...}) = 0
stat("fs/ext2/Kconfig", {st_mode=S_IFREG|0664, st_size=1736, ...}) = 0
stat("fs/ext2/Kconfig", {st_mode=S_IFREG|0664, st_size=1736, ...}) = 0
open("fs/ext2/Kconfig", O_RDONLY)       = 3
open("fs/ext2/Kconfig", O_RDONLY)       = 3
open("fs/ext2/Kconfig", O_RDONLY)       = 3
open("fs/ext2/Kconfig", O_RDONLY)       = 3
open("fs/ext2/Kconfig", O_RDONLY)       = 3
open("fs/ext2/Kconfig", O_RDONLY)       = 3
open("fs/ext2/Kconfig", O_RDONLY)       = 3
lstat("fs/qnx6/Kconfig", {st_mode=S_IFREG|0664, st_size=829, ...}) = 0
stat("fs/qnx6/Kconfig", {st_mode=S_IFREG|0664, st_size=829, ...}) = 0
stat("fs/qnx6/Kconfig", {st_mode=S_IFREG|0664, st_size=829, ...}) = 0
stat("fs/qnx6/Kconfig", {st_mode=S_IFREG|0664, st_size=829, ...}) = 0
open("fs/qnx6/Kconfig", O_RDONLY)       = 3
open("fs/qnx6/Kconfig", O_RDONLY)       = 3
open("fs/qnx6/Kconfig", O_RDONLY)       = 3
open("fs/qnx6/Kconfig", O_RDONLY)       = 3
open("fs/qnx6/Kconfig", O_RDONLY)       = 3
open("fs/qnx6/Kconfig", O_RDONLY)       = 3
open("fs/qnx6/Kconfig", O_RDONLY)       = 3
lstat("fs/nfs/Kconfig", {st_mode=S_IFREG|0664, st_size=5263, ...}) = 0
stat("fs/nfs/Kconfig", {st_mode=S_IFREG|0664, st_size=5263, ...}) = 0
stat("fs/nfs/Kconfig", {st_mode=S_IFREG|0664, st_size=5263, ...}) = 0
stat("fs/nfs/Kconfig", {st_mode=S_IFREG|0664, st_size=5263, ...}) = 0
open("fs/nfs/Kconfig", O_RDONLY)        = 3
open("fs/nfs/Kconfig", O_RDONLY)        = 3
open("fs/nfs/Kconfig", O_RDONLY)        = 3
open("fs/nfs/Kconfig", O_RDONLY)        = 3
open("fs/nfs/Kconfig", O_RDONLY)        = 3
open("fs/nfs/Kconfig", O_RDONLY)        = 3
open("fs/nfs/Kconfig", O_RDONLY)        = 3
lstat("fs/quota/Kconfig", {st_mode=S_IFREG|0664, st_size=2347, ...}) = 0
stat("fs/quota/Kconfig", {st_mode=S_IFREG|0664, st_size=2347, ...}) = 0
stat("fs/quota/Kconfig", {st_mode=S_IFREG|0664, st_size=2347, ...}) = 0
stat("fs/quota/Kconfig", {st_mode=S_IFREG|0664, st_size=2347, ...}) = 0
open("fs/quota/Kconfig", O_RDONLY)      = 3
open("fs/quota/Kconfig", O_RDONLY)      = 3
open("fs/quota/Kconfig", O_RDONLY)      = 3
open("fs/quota/Kconfig", O_RDONLY)      = 3
open("fs/quota/Kconfig", O_RDONLY)      = 3
open("fs/quota/Kconfig", O_RDONLY)      = 3
open("fs/quota/Kconfig", O_RDONLY)      = 3
lstat("fs/ceph/Kconfig", {st_mode=S_IFREG|0664, st_size=465, ...}) = 0
stat("fs/ceph/Kconfig", {st_mode=S_IFREG|0664, st_size=465, ...}) = 0
stat("fs/ceph/Kconfig", {st_mode=S_IFREG|0664, st_size=465, ...}) = 0
stat("fs/ceph/Kconfig", {st_mode=S_IFREG|0664, st_size=465, ...}) = 0
open("fs/ceph/Kconfig", O_RDONLY)       = 3
open("fs/ceph/Kconfig", O_RDONLY)       = 3
open("fs/ceph/Kconfig", O_RDONLY)       = 3
open("fs/ceph/Kconfig", O_RDONLY)       = 3
open("fs/ceph/Kconfig", O_RDONLY)       = 3
open("fs/ceph/Kconfig", O_RDONLY)       = 3
open("fs/ceph/Kconfig", O_RDONLY)       = 3
lstat("fs/adfs/Kconfig", {st_mode=S_IFREG|0664, st_size=1045, ...}) = 0
stat("fs/adfs/Kconfig", {st_mode=S_IFREG|0664, st_size=1045, ...}) = 0
stat("fs/adfs/Kconfig", {st_mode=S_IFREG|0664, st_size=1045, ...}) = 0
stat("fs/adfs/Kconfig", {st_mode=S_IFREG|0664, st_size=1045, ...}) = 0
open("fs/adfs/Kconfig", O_RDONLY)       = 3
open("fs/adfs/Kconfig", O_RDONLY)       = 3
open("fs/adfs/Kconfig", O_RDONLY)       = 3
open("fs/adfs/Kconfig", O_RDONLY)       = 3
open("fs/adfs/Kconfig", O_RDONLY)       = 3
open("fs/adfs/Kconfig", O_RDONLY)       = 3
open("fs/adfs/Kconfig", O_RDONLY)       = 3
lstat("fs/btrfs/Kconfig", {st_mode=S_IFREG|0664, st_size=2453, ...}) = 0
stat("fs/btrfs/Kconfig", {st_mode=S_IFREG|0664, st_size=2453, ...}) = 0
stat("fs/btrfs/Kconfig", {st_mode=S_IFREG|0664, st_size=2453, ...}) = 0
stat("fs/btrfs/Kconfig", {st_mode=S_IFREG|0664, st_size=2453, ...}) = 0
open("fs/btrfs/Kconfig", O_RDONLY)      = 3
open("fs/btrfs/Kconfig", O_RDONLY)      = 3
open("fs/btrfs/Kconfig", O_RDONLY)      = 3
open("fs/btrfs/Kconfig", O_RDONLY)      = 3
open("fs/btrfs/Kconfig", O_RDONLY)      = 3
open("fs/btrfs/Kconfig", O_RDONLY)      = 3
open("fs/btrfs/Kconfig", O_RDONLY)      = 3
lstat("fs/udf/Kconfig", {st_mode=S_IFREG|0664, st_size=541, ...}) = 0
stat("fs/udf/Kconfig", {st_mode=S_IFREG|0664, st_size=541, ...}) = 0
stat("fs/udf/Kconfig", {st_mode=S_IFREG|0664, st_size=541, ...}) = 0
stat("fs/udf/Kconfig", {st_mode=S_IFREG|0664, st_size=541, ...}) = 0
open("fs/udf/Kconfig", O_RDONLY)        = 3
open("fs/udf/Kconfig", O_RDONLY)        = 3
open("fs/udf/Kconfig", O_RDONLY)        = 3
open("fs/udf/Kconfig", O_RDONLY)        = 3
open("fs/udf/Kconfig", O_RDONLY)        = 3
open("fs/udf/Kconfig", O_RDONLY)        = 3
open("fs/udf/Kconfig", O_RDONLY)        = 3
lstat("fs/hpfs/Kconfig", {st_mode=S_IFREG|0664, st_size=640, ...}) = 0
stat("fs/hpfs/Kconfig", {st_mode=S_IFREG|0664, st_size=640, ...}) = 0
stat("fs/hpfs/Kconfig", {st_mode=S_IFREG|0664, st_size=640, ...}) = 0
stat("fs/hpfs/Kconfig", {st_mode=S_IFREG|0664, st_size=640, ...}) = 0
open("fs/hpfs/Kconfig", O_RDONLY)       = 3
open("fs/hpfs/Kconfig", O_RDONLY)       = 3
open("fs/hpfs/Kconfig", O_RDONLY)       = 3
open("fs/hpfs/Kconfig", O_RDONLY)       = 3
open("fs/hpfs/Kconfig", O_RDONLY)       = 3
open("fs/hpfs/Kconfig", O_RDONLY)       = 3
open("fs/hpfs/Kconfig", O_RDONLY)       = 3
lstat("fs/jfs/Kconfig", {st_mode=S_IFREG|0664, st_size=1597, ...}) = 0
stat("fs/jfs/Kconfig", {st_mode=S_IFREG|0664, st_size=1597, ...}) = 0
stat("fs/jfs/Kconfig", {st_mode=S_IFREG|0664, st_size=1597, ...}) = 0
stat("fs/jfs/Kconfig", {st_mode=S_IFREG|0664, st_size=1597, ...}) = 0
open("fs/jfs/Kconfig", O_RDONLY)        = 3
open("fs/jfs/Kconfig", O_RDONLY)        = 3
open("fs/jfs/Kconfig", O_RDONLY)        = 3
open("fs/jfs/Kconfig", O_RDONLY)        = 3
open("fs/jfs/Kconfig", O_RDONLY)        = 3
open("fs/jfs/Kconfig", O_RDONLY)        = 3
open("fs/jfs/Kconfig", O_RDONLY)        = 3
lstat("fs/omfs/Kconfig", {st_mode=S_IFREG|0664, st_size=540, ...}) = 0
stat("fs/omfs/Kconfig", {st_mode=S_IFREG|0664, st_size=540, ...}) = 0
stat("fs/omfs/Kconfig", {st_mode=S_IFREG|0664, st_size=540, ...}) = 0
stat("fs/omfs/Kconfig", {st_mode=S_IFREG|0664, st_size=540, ...}) = 0
open("fs/omfs/Kconfig", O_RDONLY)       = 3
open("fs/omfs/Kconfig", O_RDONLY)       = 3
open("fs/omfs/Kconfig", O_RDONLY)       = 3
open("fs/omfs/Kconfig", O_RDONLY)       = 3
open("fs/omfs/Kconfig", O_RDONLY)       = 3
open("fs/omfs/Kconfig", O_RDONLY)       = 3
open("fs/omfs/Kconfig", O_RDONLY)       = 3
lstat("fs/freevxfs/Kconfig", {st_mode=S_IFREG|0664, st_size=686, ...}) = 0
stat("fs/freevxfs/Kconfig", {st_mode=S_IFREG|0664, st_size=686, ...}) = 0
stat("fs/freevxfs/Kconfig", {st_mode=S_IFREG|0664, st_size=686, ...}) = 0
stat("fs/freevxfs/Kconfig", {st_mode=S_IFREG|0664, st_size=686, ...}) = 0
open("fs/freevxfs/Kconfig", O_RDONLY)   = 3
open("fs/freevxfs/Kconfig", O_RDONLY)   = 3
open("fs/freevxfs/Kconfig", O_RDONLY)   = 3
open("fs/freevxfs/Kconfig", O_RDONLY)   = 3
open("fs/freevxfs/Kconfig", O_RDONLY)   = 3
open("fs/freevxfs/Kconfig", O_RDONLY)   = 3
open("fs/freevxfs/Kconfig", O_RDONLY)   = 3
stat("fs/Kconfig", {st_mode=S_IFREG|0664, st_size=6113, ...}) = 0
stat("fs/Kconfig", {st_mode=S_IFREG|0664, st_size=6113, ...}) = 0
stat("fs/Kconfig", {st_mode=S_IFREG|0664, st_size=6113, ...}) = 0
open("fs/Kconfig", O_RDONLY)            = 3
open("fs/Kconfig", O_RDONLY)            = 3
open("fs/Kconfig", O_RDONLY)            = 3
open("fs/Kconfig", O_RDONLY)            = 3
open("fs/Kconfig", O_RDONLY)            = 3
open("fs/Kconfig", O_RDONLY)            = 3
open("fs/Kconfig", O_RDONLY)            = 3
lstat("fs/bfs/Kconfig", {st_mode=S_IFREG|0664, st_size=904, ...}) = 0
stat("fs/bfs/Kconfig", {st_mode=S_IFREG|0664, st_size=904, ...}) = 0
stat("fs/bfs/Kconfig", {st_mode=S_IFREG|0664, st_size=904, ...}) = 0
stat("fs/bfs/Kconfig", {st_mode=S_IFREG|0664, st_size=904, ...}) = 0
open("fs/bfs/Kconfig", O_RDONLY)        = 3
open("fs/bfs/Kconfig", O_RDONLY)        = 3
open("fs/bfs/Kconfig", O_RDONLY)        = 3
open("fs/bfs/Kconfig", O_RDONLY)        = 3
open("fs/bfs/Kconfig", O_RDONLY)        = 3
open("fs/bfs/Kconfig", O_RDONLY)        = 3
open("fs/bfs/Kconfig", O_RDONLY)        = 3
lstat("fs/hfs/Kconfig", {st_mode=S_IFREG|0664, st_size=442, ...}) = 0
stat("fs/hfs/Kconfig", {st_mode=S_IFREG|0664, st_size=442, ...}) = 0
stat("fs/hfs/Kconfig", {st_mode=S_IFREG|0664, st_size=442, ...}) = 0
stat("fs/hfs/Kconfig", {st_mode=S_IFREG|0664, st_size=442, ...}) = 0
open("fs/hfs/Kconfig", O_RDONLY)        = 3
open("fs/hfs/Kconfig", O_RDONLY)        = 3
open("fs/hfs/Kconfig", O_RDONLY)        = 3
open("fs/hfs/Kconfig", O_RDONLY)        = 3
open("fs/hfs/Kconfig", O_RDONLY)        = 3
open("fs/hfs/Kconfig", O_RDONLY)        = 3
open("fs/hfs/Kconfig", O_RDONLY)        = 3
lstat("fs/gfs2/Kconfig", {st_mode=S_IFREG|0664, st_size=1384, ...}) = 0
stat("fs/gfs2/Kconfig", {st_mode=S_IFREG|0664, st_size=1384, ...}) = 0
stat("fs/gfs2/Kconfig", {st_mode=S_IFREG|0664, st_size=1384, ...}) = 0
stat("fs/gfs2/Kconfig", {st_mode=S_IFREG|0664, st_size=1384, ...}) = 0
open("fs/gfs2/Kconfig", O_RDONLY)       = 3
open("fs/gfs2/Kconfig", O_RDONLY)       = 3
open("fs/gfs2/Kconfig", O_RDONLY)       = 3
open("fs/gfs2/Kconfig", O_RDONLY)       = 3
open("fs/gfs2/Kconfig", O_RDONLY)       = 3
open("fs/gfs2/Kconfig", O_RDONLY)       = 3
open("fs/gfs2/Kconfig", O_RDONLY)       = 3
lstat("fs/dlm/Kconfig", {st_mode=S_IFREG|0664, st_size=476, ...}) = 0
stat("fs/dlm/Kconfig", {st_mode=S_IFREG|0664, st_size=476, ...}) = 0
stat("fs/dlm/Kconfig", {st_mode=S_IFREG|0664, st_size=476, ...}) = 0
stat("fs/dlm/Kconfig", {st_mode=S_IFREG|0664, st_size=476, ...}) = 0
open("fs/dlm/Kconfig", O_RDONLY)        = 3
open("fs/dlm/Kconfig", O_RDONLY)        = 3
open("fs/dlm/Kconfig", O_RDONLY)        = 3
open("fs/dlm/Kconfig", O_RDONLY)        = 3
open("fs/dlm/Kconfig", O_RDONLY)        = 3
open("fs/dlm/Kconfig", O_RDONLY)        = 3
open("fs/dlm/Kconfig", O_RDONLY)        = 3
lstat("fs/jbd/Kconfig", {st_mode=S_IFREG|0664, st_size=1267, ...}) = 0
stat("fs/jbd/Kconfig", {st_mode=S_IFREG|0664, st_size=1267, ...}) = 0
stat("fs/jbd/Kconfig", {st_mode=S_IFREG|0664, st_size=1267, ...}) = 0
stat("fs/jbd/Kconfig", {st_mode=S_IFREG|0664, st_size=1267, ...}) = 0
open("fs/jbd/Kconfig", O_RDONLY)        = 3
open("fs/jbd/Kconfig", O_RDONLY)        = 3
open("fs/jbd/Kconfig", O_RDONLY)        = 3
open("fs/jbd/Kconfig", O_RDONLY)        = 3
open("fs/jbd/Kconfig", O_RDONLY)        = 3
open("fs/jbd/Kconfig", O_RDONLY)        = 3
open("fs/jbd/Kconfig", O_RDONLY)        = 3
lstat("fs/cifs/Kconfig", {st_mode=S_IFREG|0664, st_size=7599, ...}) = 0
stat("fs/cifs/Kconfig", {st_mode=S_IFREG|0664, st_size=7599, ...}) = 0
stat("fs/cifs/Kconfig", {st_mode=S_IFREG|0664, st_size=7599, ...}) = 0
stat("fs/cifs/Kconfig", {st_mode=S_IFREG|0664, st_size=7599, ...}) = 0
open("fs/cifs/Kconfig", O_RDONLY)       = 3
open("fs/cifs/Kconfig", O_RDONLY)       = 3
open("fs/cifs/Kconfig", O_RDONLY)       = 3
open("fs/cifs/Kconfig", O_RDONLY)       = 3
open("fs/cifs/Kconfig", O_RDONLY)       = 3
open("fs/cifs/Kconfig", O_RDONLY)       = 3
open("fs/cifs/Kconfig", O_RDONLY)       = 3
stat("fs/Kconfig.binfmt", {st_mode=S_IFREG|0664, st_size=7416, ...}) = 0
stat("fs/Kconfig.binfmt", {st_mode=S_IFREG|0664, st_size=7416, ...}) = 0
stat("fs/Kconfig.binfmt", {st_mode=S_IFREG|0664, st_size=7416, ...}) = 0
open("fs/Kconfig.binfmt", O_RDONLY)     = 3
open("fs/Kconfig.binfmt", O_RDONLY)     = 3
open("fs/Kconfig.binfmt", O_RDONLY)     = 3
open("fs/Kconfig.binfmt", O_RDONLY)     = 3
open("fs/Kconfig.binfmt", O_RDONLY)     = 3
open("fs/Kconfig.binfmt", O_RDONLY)     = 3
open("fs/Kconfig.binfmt", O_RDONLY)     = 3
lstat("fs/logfs/Kconfig", {st_mode=S_IFREG|0664, st_size=501, ...}) = 0
stat("fs/logfs/Kconfig", {st_mode=S_IFREG|0664, st_size=501, ...}) = 0
stat("fs/logfs/Kconfig", {st_mode=S_IFREG|0664, st_size=501, ...}) = 0
stat("fs/logfs/Kconfig", {st_mode=S_IFREG|0664, st_size=501, ...}) = 0
open("fs/logfs/Kconfig", O_RDONLY)      = 3
open("fs/logfs/Kconfig", O_RDONLY)      = 3
open("fs/logfs/Kconfig", O_RDONLY)      = 3
open("fs/logfs/Kconfig", O_RDONLY)      = 3
open("fs/logfs/Kconfig", O_RDONLY)      = 3
open("fs/logfs/Kconfig", O_RDONLY)      = 3
open("fs/logfs/Kconfig", O_RDONLY)      = 3
lstat("fs/xfs/Kconfig", {st_mode=S_IFREG|0664, st_size=3839, ...}) = 0
stat("fs/xfs/Kconfig", {st_mode=S_IFREG|0664, st_size=3839, ...}) = 0
stat("fs/xfs/Kconfig", {st_mode=S_IFREG|0664, st_size=3839, ...}) = 0
stat("fs/xfs/Kconfig", {st_mode=S_IFREG|0664, st_size=3839, ...}) = 0
open("fs/xfs/Kconfig", O_RDONLY)        = 3
open("fs/xfs/Kconfig", O_RDONLY)        = 3
open("fs/xfs/Kconfig", O_RDONLY)        = 3
open("fs/xfs/Kconfig", O_RDONLY)        = 3
open("fs/xfs/Kconfig", O_RDONLY)        = 3
open("fs/xfs/Kconfig", O_RDONLY)        = 3
open("fs/xfs/Kconfig", O_RDONLY)        = 3
lstat("fs/ext4/Kconfig", {st_mode=S_IFREG|0664, st_size=2603, ...}) = 0
stat("fs/ext4/Kconfig", {st_mode=S_IFREG|0664, st_size=2603, ...}) = 0
stat("fs/ext4/Kconfig", {st_mode=S_IFREG|0664, st_size=2603, ...}) = 0
stat("fs/ext4/Kconfig", {st_mode=S_IFREG|0664, st_size=2603, ...}) = 0
open("fs/ext4/Kconfig", O_RDONLY)       = 3
open("fs/ext4/Kconfig", O_RDONLY)       = 3
open("fs/ext4/Kconfig", O_RDONLY)       = 3
open("fs/ext4/Kconfig", O_RDONLY)       = 3
open("fs/ext4/Kconfig", O_RDONLY)       = 3
open("fs/ext4/Kconfig", O_RDONLY)       = 3
open("fs/ext4/Kconfig", O_RDONLY)       = 3
lstat("fs/efivarfs/Kconfig", {st_mode=S_IFREG|0664, st_size=360, ...}) = 0
stat("fs/efivarfs/Kconfig", {st_mode=S_IFREG|0664, st_size=360, ...}) = 0
stat("fs/efivarfs/Kconfig", {st_mode=S_IFREG|0664, st_size=360, ...}) = 0
stat("fs/efivarfs/Kconfig", {st_mode=S_IFREG|0664, st_size=360, ...}) = 0
open("fs/efivarfs/Kconfig", O_RDONLY)   = 3
open("fs/efivarfs/Kconfig", O_RDONLY)   = 3
open("fs/efivarfs/Kconfig", O_RDONLY)   = 3
open("fs/efivarfs/Kconfig", O_RDONLY)   = 3
open("fs/efivarfs/Kconfig", O_RDONLY)   = 3
open("fs/efivarfs/Kconfig", O_RDONLY)   = 3
open("fs/efivarfs/Kconfig", O_RDONLY)   = 3
lstat("fs/sysfs/Kconfig", {st_mode=S_IFREG|0664, st_size=998, ...}) = 0
stat("fs/sysfs/Kconfig", {st_mode=S_IFREG|0664, st_size=998, ...}) = 0
stat("fs/sysfs/Kconfig", {st_mode=S_IFREG|0664, st_size=998, ...}) = 0
stat("fs/sysfs/Kconfig", {st_mode=S_IFREG|0664, st_size=998, ...}) = 0
open("fs/sysfs/Kconfig", O_RDONLY)      = 3
open("fs/sysfs/Kconfig", O_RDONLY)      = 3
open("fs/sysfs/Kconfig", O_RDONLY)      = 3
open("fs/sysfs/Kconfig", O_RDONLY)      = 3
open("fs/sysfs/Kconfig", O_RDONLY)      = 3
open("fs/sysfs/Kconfig", O_RDONLY)      = 3
open("fs/sysfs/Kconfig", O_RDONLY)      = 3
lstat("fs/ubifs/Kconfig", {st_mode=S_IFREG|0664, st_size=1050, ...}) = 0
stat("fs/ubifs/Kconfig", {st_mode=S_IFREG|0664, st_size=1050, ...}) = 0
stat("fs/ubifs/Kconfig", {st_mode=S_IFREG|0664, st_size=1050, ...}) = 0
stat("fs/ubifs/Kconfig", {st_mode=S_IFREG|0664, st_size=1050, ...}) = 0
open("fs/ubifs/Kconfig", O_RDONLY)      = 3
open("fs/ubifs/Kconfig", O_RDONLY)      = 3
open("fs/ubifs/Kconfig", O_RDONLY)      = 3
open("fs/ubifs/Kconfig", O_RDONLY)      = 3
open("fs/ubifs/Kconfig", O_RDONLY)      = 3
open("fs/ubifs/Kconfig", O_RDONLY)      = 3
open("fs/ubifs/Kconfig", O_RDONLY)      = 3
lstat("fs/f2fs/Kconfig", {st_mode=S_IFREG|0664, st_size=1820, ...}) = 0
stat("fs/f2fs/Kconfig", {st_mode=S_IFREG|0664, st_size=1820, ...}) = 0
stat("fs/f2fs/Kconfig", {st_mode=S_IFREG|0664, st_size=1820, ...}) = 0
stat("fs/f2fs/Kconfig", {st_mode=S_IFREG|0664, st_size=1820, ...}) = 0
open("fs/f2fs/Kconfig", O_RDONLY)       = 3
open("fs/f2fs/Kconfig", O_RDONLY)       = 3
open("fs/f2fs/Kconfig", O_RDONLY)       = 3
open("fs/f2fs/Kconfig", O_RDONLY)       = 3
open("fs/f2fs/Kconfig", O_RDONLY)       = 3
open("fs/f2fs/Kconfig", O_RDONLY)       = 3
open("fs/f2fs/Kconfig", O_RDONLY)       = 3
lstat("fs/cachefiles/Kconfig", {st_mode=S_IFREG|0664, st_size=1416, ...}) = 0
stat("fs/cachefiles/Kconfig", {st_mode=S_IFREG|0664, st_size=1416, ...}) = 0
stat("fs/cachefiles/Kconfig", {st_mode=S_IFREG|0664, st_size=1416, ...}) = 0
stat("fs/cachefiles/Kconfig", {st_mode=S_IFREG|0664, st_size=1416, ...}) = 0
open("fs/cachefiles/Kconfig", O_RDONLY) = 3
open("fs/cachefiles/Kconfig", O_RDONLY) = 3
open("fs/cachefiles/Kconfig", O_RDONLY) = 3
open("fs/cachefiles/Kconfig", O_RDONLY) = 3
open("fs/cachefiles/Kconfig", O_RDONLY) = 3
open("fs/cachefiles/Kconfig", O_RDONLY) = 3
open("fs/cachefiles/Kconfig", O_RDONLY) = 3
lstat("fs/fat/Kconfig", {st_mode=S_IFREG|0664, st_size=4164, ...}) = 0
stat("fs/fat/Kconfig", {st_mode=S_IFREG|0664, st_size=4164, ...}) = 0
stat("fs/fat/Kconfig", {st_mode=S_IFREG|0664, st_size=4164, ...}) = 0
stat("fs/fat/Kconfig", {st_mode=S_IFREG|0664, st_size=4164, ...}) = 0
open("fs/fat/Kconfig", O_RDONLY)        = 3
open("fs/fat/Kconfig", O_RDONLY)        = 3
open("fs/fat/Kconfig", O_RDONLY)        = 3
open("fs/fat/Kconfig", O_RDONLY)        = 3
open("fs/fat/Kconfig", O_RDONLY)        = 3
open("fs/fat/Kconfig", O_RDONLY)        = 3
open("fs/fat/Kconfig", O_RDONLY)        = 3
lstat("fs/jbd2/Kconfig", {st_mode=S_IFREG|0664, st_size=1403, ...}) = 0
stat("fs/jbd2/Kconfig", {st_mode=S_IFREG|0664, st_size=1403, ...}) = 0
stat("fs/jbd2/Kconfig", {st_mode=S_IFREG|0664, st_size=1403, ...}) = 0
stat("fs/jbd2/Kconfig", {st_mode=S_IFREG|0664, st_size=1403, ...}) = 0
open("fs/jbd2/Kconfig", O_RDONLY)       = 3
open("fs/jbd2/Kconfig", O_RDONLY)       = 3
open("fs/jbd2/Kconfig", O_RDONLY)       = 3
open("fs/jbd2/Kconfig", O_RDONLY)       = 3
open("fs/jbd2/Kconfig", O_RDONLY)       = 3
open("fs/jbd2/Kconfig", O_RDONLY)       = 3
open("fs/jbd2/Kconfig", O_RDONLY)       = 3
lstat("fs/ntfs/Kconfig", {st_mode=S_IFREG|0664, st_size=3299, ...}) = 0
stat("fs/ntfs/Kconfig", {st_mode=S_IFREG|0664, st_size=3299, ...}) = 0
stat("fs/ntfs/Kconfig", {st_mode=S_IFREG|0664, st_size=3299, ...}) = 0
stat("fs/ntfs/Kconfig", {st_mode=S_IFREG|0664, st_size=3299, ...}) = 0
open("fs/ntfs/Kconfig", O_RDONLY)       = 3
open("fs/ntfs/Kconfig", O_RDONLY)       = 3
open("fs/ntfs/Kconfig", O_RDONLY)       = 3
open("fs/ntfs/Kconfig", O_RDONLY)       = 3
open("fs/ntfs/Kconfig", O_RDONLY)       = 3
open("fs/ntfs/Kconfig", O_RDONLY)       = 3
open("fs/ntfs/Kconfig", O_RDONLY)       = 3
lstat("fs/cramfs/Kconfig", {st_mode=S_IFREG|0664, st_size=761, ...}) = 0
stat("fs/cramfs/Kconfig", {st_mode=S_IFREG|0664, st_size=761, ...}) = 0
stat("fs/cramfs/Kconfig", {st_mode=S_IFREG|0664, st_size=761, ...}) = 0
stat("fs/cramfs/Kconfig", {st_mode=S_IFREG|0664, st_size=761, ...}) = 0
open("fs/cramfs/Kconfig", O_RDONLY)     = 3
open("fs/cramfs/Kconfig", O_RDONLY)     = 3
open("fs/cramfs/Kconfig", O_RDONLY)     = 3
open("fs/cramfs/Kconfig", O_RDONLY)     = 3
open("fs/cramfs/Kconfig", O_RDONLY)     = 3
open("fs/cramfs/Kconfig", O_RDONLY)     = 3
open("fs/cramfs/Kconfig", O_RDONLY)     = 3
lstat("fs/romfs/Kconfig", {st_mode=S_IFREG|0664, st_size=1842, ...}) = 0
stat("fs/romfs/Kconfig", {st_mode=S_IFREG|0664, st_size=1842, ...}) = 0
stat("fs/romfs/Kconfig", {st_mode=S_IFREG|0664, st_size=1842, ...}) = 0
stat("fs/romfs/Kconfig", {st_mode=S_IFREG|0664, st_size=1842, ...}) = 0
open("fs/romfs/Kconfig", O_RDONLY)      = 3
open("fs/romfs/Kconfig", O_RDONLY)      = 3
open("fs/romfs/Kconfig", O_RDONLY)      = 3
open("fs/romfs/Kconfig", O_RDONLY)      = 3
open("fs/romfs/Kconfig", O_RDONLY)      = 3
open("fs/romfs/Kconfig", O_RDONLY)      = 3
open("fs/romfs/Kconfig", O_RDONLY)      = 3
lstat("fs/befs/Kconfig", {st_mode=S_IFREG|0664, st_size=917, ...}) = 0
stat("fs/befs/Kconfig", {st_mode=S_IFREG|0664, st_size=917, ...}) = 0
stat("fs/befs/Kconfig", {st_mode=S_IFREG|0664, st_size=917, ...}) = 0
stat("fs/befs/Kconfig", {st_mode=S_IFREG|0664, st_size=917, ...}) = 0
open("fs/befs/Kconfig", O_RDONLY)       = 3
open("fs/befs/Kconfig", O_RDONLY)       = 3
open("fs/befs/Kconfig", O_RDONLY)       = 3
open("fs/befs/Kconfig", O_RDONLY)       = 3
open("fs/befs/Kconfig", O_RDONLY)       = 3
open("fs/befs/Kconfig", O_RDONLY)       = 3
open("fs/befs/Kconfig", O_RDONLY)       = 3
lstat("fs/exofs/Kconfig.ore", {st_mode=S_IFREG|0664, st_size=461, ...}) = 0
lstat("fs/exofs/Kconfig", {st_mode=S_IFREG|0664, st_size=323, ...}) = 0
stat("fs/exofs/Kconfig.ore", {st_mode=S_IFREG|0664, st_size=461, ...}) = 0
stat("fs/exofs/Kconfig.ore", {st_mode=S_IFREG|0664, st_size=461, ...}) = 0
stat("fs/exofs/Kconfig.ore", {st_mode=S_IFREG|0664, st_size=461, ...}) = 0
open("fs/exofs/Kconfig.ore", O_RDONLY)  = 3
open("fs/exofs/Kconfig.ore", O_RDONLY)  = 3
open("fs/exofs/Kconfig.ore", O_RDONLY)  = 3
open("fs/exofs/Kconfig.ore", O_RDONLY)  = 3
open("fs/exofs/Kconfig.ore", O_RDONLY)  = 3
open("fs/exofs/Kconfig.ore", O_RDONLY)  = 3
open("fs/exofs/Kconfig.ore", O_RDONLY)  = 3
stat("fs/exofs/Kconfig", {st_mode=S_IFREG|0664, st_size=323, ...}) = 0
stat("fs/exofs/Kconfig", {st_mode=S_IFREG|0664, st_size=323, ...}) = 0
stat("fs/exofs/Kconfig", {st_mode=S_IFREG|0664, st_size=323, ...}) = 0
open("fs/exofs/Kconfig", O_RDONLY)      = 3
open("fs/exofs/Kconfig", O_RDONLY)      = 3
open("fs/exofs/Kconfig", O_RDONLY)      = 3
open("fs/exofs/Kconfig", O_RDONLY)      = 3
open("fs/exofs/Kconfig", O_RDONLY)      = 3
open("fs/exofs/Kconfig", O_RDONLY)      = 3
open("fs/exofs/Kconfig", O_RDONLY)      = 3
lstat("fs/affs/Kconfig", {st_mode=S_IFREG|0664, st_size=960, ...}) = 0
stat("fs/affs/Kconfig", {st_mode=S_IFREG|0664, st_size=960, ...}) = 0
stat("fs/affs/Kconfig", {st_mode=S_IFREG|0664, st_size=960, ...}) = 0
stat("fs/affs/Kconfig", {st_mode=S_IFREG|0664, st_size=960, ...}) = 0
open("fs/affs/Kconfig", O_RDONLY)       = 3
open("fs/affs/Kconfig", O_RDONLY)       = 3
open("fs/affs/Kconfig", O_RDONLY)       = 3
open("fs/affs/Kconfig", O_RDONLY)       = 3
open("fs/affs/Kconfig", O_RDONLY)       = 3
open("fs/affs/Kconfig", O_RDONLY)       = 3
open("fs/affs/Kconfig", O_RDONLY)       = 3
lstat("fs/ext3/Kconfig", {st_mode=S_IFREG|0664, st_size=3496, ...}) = 0
stat("fs/ext3/Kconfig", {st_mode=S_IFREG|0664, st_size=3496, ...}) = 0
stat("fs/ext3/Kconfig", {st_mode=S_IFREG|0664, st_size=3496, ...}) = 0
stat("fs/ext3/Kconfig", {st_mode=S_IFREG|0664, st_size=3496, ...}) = 0
open("fs/ext3/Kconfig", O_RDONLY)       = 3
open("fs/ext3/Kconfig", O_RDONLY)       = 3
open("fs/ext3/Kconfig", O_RDONLY)       = 3
open("fs/ext3/Kconfig", O_RDONLY)       = 3
open("fs/ext3/Kconfig", O_RDONLY)       = 3
open("fs/ext3/Kconfig", O_RDONLY)       = 3
open("fs/ext3/Kconfig", O_RDONLY)       = 3
lstat("fs/minix/Kconfig", {st_mode=S_IFREG|0664, st_size=1066, ...}) = 0
stat("fs/minix/Kconfig", {st_mode=S_IFREG|0664, st_size=1066, ...}) = 0
stat("fs/minix/Kconfig", {st_mode=S_IFREG|0664, st_size=1066, ...}) = 0
stat("fs/minix/Kconfig", {st_mode=S_IFREG|0664, st_size=1066, ...}) = 0
open("fs/minix/Kconfig", O_RDONLY)      = 3
open("fs/minix/Kconfig", O_RDONLY)      = 3
open("fs/minix/Kconfig", O_RDONLY)      = 3
open("fs/minix/Kconfig", O_RDONLY)      = 3
open("fs/minix/Kconfig", O_RDONLY)      = 3
open("fs/minix/Kconfig", O_RDONLY)      = 3
open("fs/minix/Kconfig", O_RDONLY)      = 3
lstat("fs/ecryptfs/Kconfig", {st_mode=S_IFREG|0664, st_size=803, ...}) = 0
stat("fs/ecryptfs/Kconfig", {st_mode=S_IFREG|0664, st_size=803, ...}) = 0
stat("fs/ecryptfs/Kconfig", {st_mode=S_IFREG|0664, st_size=803, ...}) = 0
stat("fs/ecryptfs/Kconfig", {st_mode=S_IFREG|0664, st_size=803, ...}) = 0
open("fs/ecryptfs/Kconfig", O_RDONLY)   = 3
open("fs/ecryptfs/Kconfig", O_RDONLY)   = 3
open("fs/ecryptfs/Kconfig", O_RDONLY)   = 3
open("fs/ecryptfs/Kconfig", O_RDONLY)   = 3
open("fs/ecryptfs/Kconfig", O_RDONLY)   = 3
open("fs/ecryptfs/Kconfig", O_RDONLY)   = 3
open("fs/ecryptfs/Kconfig", O_RDONLY)   = 3
lstat("fs/hfsplus/Kconfig", {st_mode=S_IFREG|0664, st_size=511, ...}) = 0
stat("fs/hfsplus/Kconfig", {st_mode=S_IFREG|0664, st_size=511, ...}) = 0
stat("fs/hfsplus/Kconfig", {st_mode=S_IFREG|0664, st_size=511, ...}) = 0
stat("fs/hfsplus/Kconfig", {st_mode=S_IFREG|0664, st_size=511, ...}) = 0
open("fs/hfsplus/Kconfig", O_RDONLY)    = 3
open("fs/hfsplus/Kconfig", O_RDONLY)    = 3
open("fs/hfsplus/Kconfig", O_RDONLY)    = 3
open("fs/hfsplus/Kconfig", O_RDONLY)    = 3
open("fs/hfsplus/Kconfig", O_RDONLY)    = 3
open("fs/hfsplus/Kconfig", O_RDONLY)    = 3
open("fs/hfsplus/Kconfig", O_RDONLY)    = 3
lstat("fs/fscache/Kconfig", {st_mode=S_IFREG|0664, st_size=2315, ...}) = 0
stat("fs/fscache/Kconfig", {st_mode=S_IFREG|0664, st_size=2315, ...}) = 0
stat("fs/fscache/Kconfig", {st_mode=S_IFREG|0664, st_size=2315, ...}) = 0
stat("fs/fscache/Kconfig", {st_mode=S_IFREG|0664, st_size=2315, ...}) = 0
open("fs/fscache/Kconfig", O_RDONLY)    = 3
open("fs/fscache/Kconfig", O_RDONLY)    = 3
open("fs/fscache/Kconfig", O_RDONLY)    = 3
open("fs/fscache/Kconfig", O_RDONLY)    = 3
open("fs/fscache/Kconfig", O_RDONLY)    = 3
open("fs/fscache/Kconfig", O_RDONLY)    = 3
open("fs/fscache/Kconfig", O_RDONLY)    = 3
lstat("fs/autofs4/Kconfig", {st_mode=S_IFREG|0664, st_size=936, ...}) = 0
stat("fs/autofs4/Kconfig", {st_mode=S_IFREG|0664, st_size=936, ...}) = 0
stat("fs/autofs4/Kconfig", {st_mode=S_IFREG|0664, st_size=936, ...}) = 0
stat("fs/autofs4/Kconfig", {st_mode=S_IFREG|0664, st_size=936, ...}) = 0
open("fs/autofs4/Kconfig", O_RDONLY)    = 3
open("fs/autofs4/Kconfig", O_RDONLY)    = 3
open("fs/autofs4/Kconfig", O_RDONLY)    = 3
open("fs/autofs4/Kconfig", O_RDONLY)    = 3
open("fs/autofs4/Kconfig", O_RDONLY)    = 3
open("fs/autofs4/Kconfig", O_RDONLY)    = 3
open("fs/autofs4/Kconfig", O_RDONLY)    = 3
lstat("fs/squashfs/Kconfig", {st_mode=S_IFREG|0664, st_size=4476, ...}) = 0
stat("fs/squashfs/Kconfig", {st_mode=S_IFREG|0664, st_size=4476, ...}) = 0
stat("fs/squashfs/Kconfig", {st_mode=S_IFREG|0664, st_size=4476, ...}) = 0
stat("fs/squashfs/Kconfig", {st_mode=S_IFREG|0664, st_size=4476, ...}) = 0
open("fs/squashfs/Kconfig", O_RDONLY)   = 3
open("fs/squashfs/Kconfig", O_RDONLY)   = 3
open("fs/squashfs/Kconfig", O_RDONLY)   = 3
open("fs/squashfs/Kconfig", O_RDONLY)   = 3
open("fs/squashfs/Kconfig", O_RDONLY)   = 3
open("fs/squashfs/Kconfig", O_RDONLY)   = 3
open("fs/squashfs/Kconfig", O_RDONLY)   = 3
lstat("fs/nls/Kconfig", {st_mode=S_IFREG|0664, st_size=27911, ...}) = 0
stat("fs/nls/Kconfig", {st_mode=S_IFREG|0664, st_size=27911, ...}) = 0
stat("fs/nls/Kconfig", {st_mode=S_IFREG|0664, st_size=27911, ...}) = 0
stat("fs/nls/Kconfig", {st_mode=S_IFREG|0664, st_size=27911, ...}) = 0
open("fs/nls/Kconfig", O_RDONLY)        = 3
open("fs/nls/Kconfig", O_RDONLY)        = 3
open("fs/nls/Kconfig", O_RDONLY)        = 3
open("fs/nls/Kconfig", O_RDONLY)        = 3
open("fs/nls/Kconfig", O_RDONLY)        = 3
open("fs/nls/Kconfig", O_RDONLY)        = 3
open("fs/nls/Kconfig", O_RDONLY)        = 3
lstat("fs/nilfs2/Kconfig", {st_mode=S_IFREG|0664, st_size=1149, ...}) = 0
stat("fs/nilfs2/Kconfig", {st_mode=S_IFREG|0664, st_size=1149, ...}) = 0
stat("fs/nilfs2/Kconfig", {st_mode=S_IFREG|0664, st_size=1149, ...}) = 0
stat("fs/nilfs2/Kconfig", {st_mode=S_IFREG|0664, st_size=1149, ...}) = 0
open("fs/nilfs2/Kconfig", O_RDONLY)     = 3
open("fs/nilfs2/Kconfig", O_RDONLY)     = 3
open("fs/nilfs2/Kconfig", O_RDONLY)     = 3
open("fs/nilfs2/Kconfig", O_RDONLY)     = 3
open("fs/nilfs2/Kconfig", O_RDONLY)     = 3
open("fs/nilfs2/Kconfig", O_RDONLY)     = 3
open("fs/nilfs2/Kconfig", O_RDONLY)     = 3
lstat("fs/9p/Kconfig", {st_mode=S_IFREG|0664, st_size=907, ...}) = 0
stat("fs/9p/Kconfig", {st_mode=S_IFREG|0664, st_size=907, ...}) = 0
stat("fs/9p/Kconfig", {st_mode=S_IFREG|0664, st_size=907, ...}) = 0
stat("fs/9p/Kconfig", {st_mode=S_IFREG|0664, st_size=907, ...}) = 0
open("fs/9p/Kconfig", O_RDONLY)         = 3
open("fs/9p/Kconfig", O_RDONLY)         = 3
open("fs/9p/Kconfig", O_RDONLY)         = 3
open("fs/9p/Kconfig", O_RDONLY)         = 3
open("fs/9p/Kconfig", O_RDONLY)         = 3
open("fs/9p/Kconfig", O_RDONLY)         = 3
open("fs/9p/Kconfig", O_RDONLY)         = 3
lstat("fs/nfsd/Kconfig", {st_mode=S_IFREG|0664, st_size=3039, ...}) = 0
stat("fs/nfsd/Kconfig", {st_mode=S_IFREG|0664, st_size=3039, ...}) = 0
stat("fs/nfsd/Kconfig", {st_mode=S_IFREG|0664, st_size=3039, ...}) = 0
stat("fs/nfsd/Kconfig", {st_mode=S_IFREG|0664, st_size=3039, ...}) = 0
open("fs/nfsd/Kconfig", O_RDONLY)       = 3
open("fs/nfsd/Kconfig", O_RDONLY)       = 3
open("fs/nfsd/Kconfig", O_RDONLY)       = 3
open("fs/nfsd/Kconfig", O_RDONLY)       = 3
open("fs/nfsd/Kconfig", O_RDONLY)       = 3
open("fs/nfsd/Kconfig", O_RDONLY)       = 3
open("fs/nfsd/Kconfig", O_RDONLY)       = 3
hoelzro commented 10 years ago

ack as of 0dd3f43 is now slightly faster than ack 1.96 when searching the kernel.

kojustin commented 8 years ago

Sounds like this has been fixed for about 1.5 years now? Closing.

petdance commented 8 years ago

It's your ticket, @kojustin. Are you satisfied with the fix?

kojustin commented 8 years ago

I haven't had to ack/grep the Linux kernel codebase in a while now. For the much smaller codebases I am working on ack 2.14 from homebrew is fast enough