On Tue, Apr 26, 2022 at 8:45 AM Vincent Lefevre <vinc...@vinc17.net> wrote:
> On an ext4 filesystem, I got a file born 30 seconds after its > actual creation. Is this a bug? > Only experimentation can really back me up on this, but consider the following: Every time you use the "|" operator or the ";" separator on a command-line, new processes are being spawned. Which wait to be dispatched on a core. But you are not serializing the dispatch of those processes, and especially with 16 fast cores, you can't predict their order of execution. > I know that such issues can be observed with NFS, but here this > is just a local ext4 filesystem. > > Here are the details. > > I started a shell script: > > cventin:~> ps -p 667828 -o lstart,cmd > STARTED CMD > Tue Apr 26 14:43:15 2022 /bin/sh /home/vlefevre/wd/mpfr/tests/mpfrtests.sh > > This script creates a file mpfrtests.cventin.lip.ens-lyon.fr.out > very early. But the first attempts to look at this file failed: > > cventin:~/software/mpfr> tail -n 30 mpfrtests.*.out; ll mpfrtests.*.out > zsh: no match > zsh: no match > cventin:~/software/mpfr[1]> tail -n 30 mpfrtests.*.out; ll mpfrtests.*.out > zsh: no match > zsh: no match > cventin:~/software/mpfr[1]> lt|head > <14:43:42 > total 7016 > -rw-r--r-- 1 188644 2022-04-26 14:43:42 config.log > -rw-r--r-- 1 2861 2022-04-26 14:43:42 conftest.c > -rw-r--r-- 1 0 2022-04-26 14:43:42 conftest.err > -rw-r--r-- 1 1907 2022-04-26 14:43:42 confdefs.h > -rwxr-xr-x 1 632161 2022-04-26 14:43:16 configure.lineno* > drwxr-xr-x 2 4096 2022-04-26 14:43:11 doc/ > drwxr-xr-x 3 4096 2022-04-26 14:43:11 tune/ > -rwxr-xr-x 1 23568 2022-04-26 14:43:11 depcomp* > drwxr-xr-x 5 36864 2022-04-26 14:43:11 tests/ > cventin:~/software/mpfr> lt|head > <14:43:47 > total 6416 > -rw-r--r-- 1 19436 2022-04-26 14:43:47 config.log > -rw-r--r-- 1 561 2022-04-26 14:43:47 conftest.c > -rw-r--r-- 1 0 2022-04-26 14:43:47 conftest.err > -rw-r--r-- 1 4138 2022-04-26 14:43:47 mpfrtests.cfgout > -rw-r--r-- 1 500 2022-04-26 14:43:47 confdefs.h > -rwxr-xr-x 1 632161 2022-04-26 14:43:45 configure.lineno* > -rw-r--r-- 1 878 2022-04-26 14:43:45 > mpfrtests.cventin.lip.ens-lyon.fr.out > drwxr-xr-x 3 4096 2022-04-26 14:43:44 tune/ > drwxr-xr-x 4 36864 2022-04-26 14:43:44 tests/ > > According to /usr/bin/stat, the file birth is > > Birth: 2022-04-26 14:43:45.537241731 +0200 > > thus 30 seconds after the script started! > > Note that the configure.lineno file is created *after* > mpfrtests.cventin.lip.ens-lyon.fr.out, and one can see that > at 14:43:16, configure.lineno was already created. > > This is a 12-core Debian/unstable machine with > > Linux cventin 5.17.0-1-amd64 #1 SMP PREEMPT Debian 5.17.3-1 (2022-04-18) > x86_64 GNU/Linux > > -- > Vincent Lefèvre <vinc...@vinc17.net> - Web: <https://www.vinc17.net/> > 100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/> > Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon) > >