Buildresult: linus/sparc64-allnoconfig/sparc64-gcc13 built on Jul 30, 05:08
kisskb
Revisions
|
Branches
|
Compilers
|
Configs
|
Build Results
|
Build Failures
|
Status:
OK
Date/Time:
Jul 30, 05:08
Duration:
0:06:56.798211
Builder:
alpine3
Revision:
profiling: attempt to remove per-cpu profile flip buffer (
2accfdb7eff65f390c4308b0e9cb7c3fe48ad63c)
Target:
linus/sparc64-allnoconfig/sparc64-gcc13
Branch:
linus
Compiler:
sparc64-gcc13
(sparc64-linux-gcc (GCC) 13.1.0 / GNU ld (GNU Binutils) 2.40)
Config:
allnoconfig
(
download
)
Log:
Download original
Possible warnings (13)
<stdin>:1519:2: warning: #warning syscall clone3 not implemented [-Wcpp] arch/sparc/vdso/vclock_gettime.c:254:1: warning: no previous prototype for '__vdso_clock_gettime' [-Wmissing-prototypes] arch/sparc/vdso/vclock_gettime.c:282:1: warning: no previous prototype for '__vdso_clock_gettime_stick' [-Wmissing-prototypes] arch/sparc/vdso/vclock_gettime.c:307:1: warning: no previous prototype for '__vdso_gettimeofday' [-Wmissing-prototypes] arch/sparc/vdso/vclock_gettime.c:343:1: warning: no previous prototype for '__vdso_gettimeofday_stick' [-Wmissing-prototypes] arch/sparc/vdso/vdso32/../vclock_gettime.c:254:1: warning: no previous prototype for '__vdso_clock_gettime' [-Wmissing-prototypes] arch/sparc/vdso/vdso32/../vclock_gettime.c:282:1: warning: no previous prototype for '__vdso_clock_gettime_stick' [-Wmissing-prototypes] arch/sparc/vdso/vdso32/../vclock_gettime.c:307:1: warning: no previous prototype for '__vdso_gettimeofday' [-Wmissing-prototypes] arch/sparc/vdso/vdso32/../vclock_gettime.c:343:1: warning: no previous prototype for '__vdso_gettimeofday_stick' [-Wmissing-prototypes] /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld: warning: arch/sparc/vdso/vdso-note.o: missing .note.GNU-stack section implies executable stack /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld: warning: arch/sparc/vdso/vdso32/vdso-note.o: missing .note.GNU-stack section implies executable stack kernel/fork.c:3072:2: warning: #warning clone3() entry point is missing, please fix [-Wcpp] 3072 | #warning clone3() entry point is missing, please fix
Full Log
# git gc Expanding reachable commits in commit graph: 54527 Expanding reachable commits in commit graph: 112351 Expanding reachable commits in commit graph: 171347 Expanding reachable commits in commit graph: 231337 Expanding reachable commits in commit graph: 290976 Expanding reachable commits in commit graph: 352423 Expanding reachable commits in commit graph: 413902 Expanding reachable commits in commit graph: 475734 Expanding reachable commits in commit graph: 534638 Expanding reachable commits in commit graph: 596551 Expanding reachable commits in commit graph: 658065 Expanding reachable commits in commit graph: 719565 Expanding reachable commits in commit graph: 780689 Expanding reachable commits in commit graph: 836791 Expanding reachable commits in commit graph: 893366 Expanding reachable commits in commit graph: 954058 Expanding reachable commits in commit graph: 1014305 Expanding reachable commits in commit graph: 1067987 Expanding reachable commits in commit graph: 1128582 Expanding reachable commits in commit graph: 1192250 Expanding reachable commits in commit graph: 1255013 Expanding reachable commits in commit graph: 1287103 Expanding reachable commits in commit graph: 1294482, done. Finding extra edges in commit graph: 0% (2/1294482) Finding extra edges in commit graph: 1% (12945/1294482) Finding extra edges in commit graph: 2% (25890/1294482) Finding extra edges in commit graph: 3% (38835/1294482) Finding extra edges in commit graph: 4% (51780/1294482) Finding extra edges in commit graph: 5% (64725/1294482) Finding extra edges in commit graph: 6% (77669/1294482) Finding extra edges in commit graph: 7% (90614/1294482) Finding extra edges in commit graph: 8% (103559/1294482) Finding extra edges in commit graph: 9% (116504/1294482) Finding extra edges in commit graph: 10% (129449/1294482) Finding extra edges in commit graph: 11% (142394/1294482) Finding extra edges in commit graph: 12% (155338/1294482) Finding extra edges in commit graph: 13% (168283/1294482) Finding extra edges in commit graph: 14% (181228/1294482) Finding extra edges in commit graph: 15% (194173/1294482) Finding extra edges in commit graph: 16% (207118/1294482) Finding extra edges in commit graph: 17% (220062/1294482) Finding extra edges in commit graph: 18% (233007/1294482) Finding extra edges in commit graph: 19% (245952/1294482) Finding extra edges in commit graph: 20% (258897/1294482) Finding extra edges in commit graph: 21% (271842/1294482) Finding extra edges in commit graph: 22% (284787/1294482) Finding extra edges in commit graph: 23% (297731/1294482) Finding extra edges in commit graph: 24% (310676/1294482) Finding extra edges in commit graph: 25% (323621/1294482) Finding extra edges in commit graph: 26% (336566/1294482) Finding extra edges in commit graph: 27% (349511/1294482) Finding extra edges in commit graph: 28% (362455/1294482) Finding extra edges in commit graph: 29% (375400/1294482) Finding extra edges in commit graph: 30% (388345/1294482) Finding extra edges in commit graph: 31% (401290/1294482) Finding extra edges in commit graph: 32% (414235/1294482) Finding extra edges in commit graph: 33% (427180/1294482) Finding extra edges in commit graph: 34% (440124/1294482) Finding extra edges in commit graph: 35% (453069/1294482) Finding extra edges in commit graph: 36% (466014/1294482) Finding extra edges in commit graph: 37% (478959/1294482) Finding extra edges in commit graph: 38% (491904/1294482) Finding extra edges in commit graph: 39% (504848/1294482) Finding extra edges in commit graph: 40% (517793/1294482) Finding extra edges in commit graph: 41% (530738/1294482) Finding extra edges in commit graph: 42% (543683/1294482) Finding extra edges in commit graph: 43% (556628/1294482) Finding extra edges in commit graph: 44% (569573/1294482) Finding extra edges in commit graph: 45% (582517/1294482) Finding extra edges in commit graph: 46% (595462/1294482) Finding extra edges in commit graph: 47% (608407/1294482) Finding extra edges in commit graph: 48% (621352/1294482) Finding extra edges in commit graph: 49% (634297/1294482) Finding extra edges in commit graph: 50% (647241/1294482) Finding extra edges in commit graph: 51% (660186/1294482) Finding extra edges in commit graph: 52% (673131/1294482) Finding extra edges in commit graph: 53% (686076/1294482) Finding extra edges in commit graph: 54% (699021/1294482) Finding extra edges in commit graph: 55% (711966/1294482) Finding extra edges in commit graph: 56% (724910/1294482) Finding extra edges in commit graph: 57% (737855/1294482) Finding extra edges in commit graph: 58% (750800/1294482) Finding extra edges in commit graph: 59% (763745/1294482) Finding extra edges in commit graph: 60% (776690/1294482) Finding extra edges in commit graph: 61% (789635/1294482) Finding extra edges in commit graph: 62% (802579/1294482) Finding extra edges in commit graph: 63% (815524/1294482) Finding extra edges in commit graph: 64% (828469/1294482) Finding extra edges in commit graph: 65% (841414/1294482) Finding extra edges in commit graph: 66% (854359/1294482) Finding extra edges in commit graph: 67% (867303/1294482) Finding extra edges in commit graph: 68% (880248/1294482) Finding extra edges in commit graph: 69% (893193/1294482) Finding extra edges in commit graph: 70% (906138/1294482) Finding extra edges in commit graph: 71% (919083/1294482) Finding extra edges in commit graph: 72% (932028/1294482) Finding extra edges in commit graph: 73% (944972/1294482) Finding extra edges in commit graph: 74% (957917/1294482) Finding extra edges in commit graph: 75% (970862/1294482) Finding extra edges in commit graph: 76% (983807/1294482) Finding extra edges in commit graph: 77% (996752/1294482) Finding extra edges in commit graph: 78% (1009696/1294482) Finding extra edges in commit graph: 79% (1022641/1294482) Finding extra edges in commit graph: 80% (1035586/1294482) Finding extra edges in commit graph: 81% (1048531/1294482) Finding extra edges in commit graph: 82% (1061476/1294482) Finding extra edges in commit graph: 83% (1074421/1294482) Finding extra edges in commit graph: 84% (1087365/1294482) Finding extra edges in commit graph: 85% (1100310/1294482) Finding extra edges in commit graph: 86% (1113255/1294482) Finding extra edges in commit graph: 87% (1126200/1294482) Finding extra edges in commit graph: 88% (1139145/1294482) Finding extra edges in commit graph: 89% (1152089/1294482) Finding extra edges in commit graph: 90% (1165034/1294482) Finding extra edges in commit graph: 91% (1177979/1294482) Finding extra edges in commit graph: 92% (1190924/1294482) Finding extra edges in commit graph: 93% (1203869/1294482) Finding extra edges in commit graph: 94% (1216814/1294482) Finding extra edges in commit graph: 95% (1229758/1294482) Finding extra edges in commit graph: 96% (1242703/1294482) Finding extra edges in commit graph: 97% (1255648/1294482) Finding extra edges in commit graph: 98% (1268593/1294482) Finding extra edges in commit graph: 99% (1281538/1294482) Finding extra edges in commit graph: 100% (1294482/1294482) Finding extra edges in commit graph: 100% (1294482/1294482), done. Computing commit graph generation numbers: 60% (778469/1294482) Computing commit graph generation numbers: 61% (789635/1294482) Computing commit graph generation numbers: 62% (802579/1294482) Computing commit graph generation numbers: 63% (815524/1294482) Computing commit graph generation numbers: 64% (828469/1294482) Computing commit graph generation numbers: 65% (841414/1294482) Computing commit graph generation numbers: 66% (854359/1294482) Computing commit graph generation numbers: 67% (867303/1294482) Computing commit graph generation numbers: 68% (880248/1294482) Computing commit graph generation numbers: 69% (893193/1294482) Computing commit graph generation numbers: 70% (906138/1294482) Computing commit graph generation numbers: 71% (919083/1294482) Computing commit graph generation numbers: 72% (932028/1294482) Computing commit graph generation numbers: 73% (944972/1294482) Computing commit graph generation numbers: 74% (957917/1294482) Computing commit graph generation numbers: 75% (970862/1294482) Computing commit graph generation numbers: 76% (983807/1294482) Computing commit graph generation numbers: 77% (996752/1294482) Computing commit graph generation numbers: 78% (1009696/1294482) Computing commit graph generation numbers: 79% (1022641/1294482) Computing commit graph generation numbers: 80% (1035586/1294482) Computing commit graph generation numbers: 81% (1048531/1294482) Computing commit graph generation numbers: 82% (1061476/1294482) Computing commit graph generation numbers: 83% (1074421/1294482) Computing commit graph generation numbers: 84% (1087365/1294482) Computing commit graph generation numbers: 85% (1100310/1294482) Computing commit graph generation numbers: 86% (1113255/1294482) Computing commit graph generation numbers: 87% (1126200/1294482) Computing commit graph generation numbers: 88% (1139145/1294482) Computing commit graph generation numbers: 89% (1152089/1294482) Computing commit graph generation numbers: 90% (1165034/1294482) Computing commit graph generation numbers: 91% (1177979/1294482) Computing commit graph generation numbers: 92% (1190924/1294482) Computing commit graph generation numbers: 93% (1203869/1294482) Computing commit graph generation numbers: 94% (1216814/1294482) Computing commit graph generation numbers: 95% (1229758/1294482) Computing commit graph generation numbers: 96% (1242703/1294482) Computing commit graph generation numbers: 97% (1255648/1294482) Computing commit graph generation numbers: 98% (1268593/1294482) Computing commit graph generation numbers: 99% (1281538/1294482) Computing commit graph generation numbers: 100% (1294482/1294482) Computing commit graph generation numbers: 100% (1294482/1294482), done. Writing out commit graph in 4 passes: 43% (2228461/5177928) Writing out commit graph in 4 passes: 44% (2278289/5177928) Writing out commit graph in 4 passes: 45% (2330068/5177928) Writing out commit graph in 4 passes: 46% (2381847/5177928) Writing out commit graph in 4 passes: 47% (2433627/5177928) Writing out commit graph in 4 passes: 48% (2485406/5177928) Writing out commit graph in 4 passes: 49% (2537185/5177928) Writing out commit graph in 4 passes: 50% (2588964/5177928) Writing out commit graph in 4 passes: 51% (2640744/5177928) Writing out commit graph in 4 passes: 52% (2692523/5177928) Writing out commit graph in 4 passes: 52% (2696405/5177928) Writing out commit graph in 4 passes: 53% (2744302/5177928) Writing out commit graph in 4 passes: 54% (2796082/5177928) Writing out commit graph in 4 passes: 55% (2847861/5177928) Writing out commit graph in 4 passes: 55% (2862508/5177928) Writing out commit graph in 4 passes: 56% (2899640/5177928) Writing out commit graph in 4 passes: 57% (2951419/5177928) Writing out commit graph in 4 passes: 58% (3003199/5177928) Writing out commit graph in 4 passes: 59% (3054978/5177928) Writing out commit graph in 4 passes: 59% (3060974/5177928) Writing out commit graph in 4 passes: 60% (3106757/5177928) Writing out commit graph in 4 passes: 61% (3158537/5177928) Writing out commit graph in 4 passes: 62% (3210316/5177928) Writing out commit graph in 4 passes: 62% (3239435/5177928) Writing out commit graph in 4 passes: 63% (3262095/5177928) Writing out commit graph in 4 passes: 64% (3313874/5177928) Writing out commit graph in 4 passes: 65% (3365654/5177928) Writing out commit graph in 4 passes: 65% (3409486/5177928) Writing out commit graph in 4 passes: 66% (3417433/5177928) Writing out commit graph in 4 passes: 67% (3469212/5177928) Writing out commit graph in 4 passes: 68% (3520992/5177928) Writing out commit graph in 4 passes: 69% (3572771/5177928) Writing out commit graph in 4 passes: 69% (3587348/5177928) Writing out commit graph in 4 passes: 70% (3624550/5177928) Writing out commit graph in 4 passes: 71% (3676329/5177928) Writing out commit graph in 4 passes: 72% (3728109/5177928) Writing out commit graph in 4 passes: 73% (3779888/5177928) Writing out commit graph in 4 passes: 73% (3794847/5177928) Writing out commit graph in 4 passes: 74% (3831667/5177928) Writing out commit graph in 4 passes: 75% (3883446/5177928) Writing out commit graph in 4 passes: 76% (3935226/5177928) Writing out commit graph in 4 passes: 77% (3987005/5177928) Writing out commit graph in 4 passes: 78% (4038784/5177928) Writing out commit graph in 4 passes: 79% (4090564/5177928) Writing out commit graph in 4 passes: 80% (4142343/5177928) Writing out commit graph in 4 passes: 81% (4194122/5177928) Writing out commit graph in 4 passes: 82% (4245901/5177928) Writing out commit graph in 4 passes: 83% (4297681/5177928) Writing out commit graph in 4 passes: 84% (4349460/5177928) Writing out commit graph in 4 passes: 85% (4401239/5177928) Writing out commit graph in 4 passes: 86% (4453019/5177928) Writing out commit graph in 4 passes: 87% (4504798/5177928) Writing out commit graph in 4 passes: 88% (4556577/5177928) Writing out commit graph in 4 passes: 89% (4608356/5177928) Writing out commit graph in 4 passes: 90% (4660136/5177928) Writing out commit graph in 4 passes: 91% (4711915/5177928) Writing out commit graph in 4 passes: 92% (4763694/5177928) Writing out commit graph in 4 passes: 93% (4815474/5177928) Writing out commit graph in 4 passes: 93% (4816692/5177928) Writing out commit graph in 4 passes: 94% (4867253/5177928) Writing out commit graph in 4 passes: 95% (4919032/5177928) Writing out commit graph in 4 passes: 96% (4970811/5177928) Writing out commit graph in 4 passes: 97% (5022591/5177928) Writing out commit graph in 4 passes: 98% (5074370/5177928) Writing out commit graph in 4 passes: 99% (5126149/5177928) Writing out commit graph in 4 passes: 100% (5177928/5177928) Writing out commit graph in 4 passes: 100% (5177928/5177928), done. # git rev-parse -q --verify 2accfdb7eff65f390c4308b0e9cb7c3fe48ad63c^{commit} # git fetch -q -n -f git://fs.ozlabs.ibm.com/kernel/linus master # git rev-parse -q --verify 2accfdb7eff65f390c4308b0e9cb7c3fe48ad63c^{commit} 2accfdb7eff65f390c4308b0e9cb7c3fe48ad63c # git checkout -q -f -B kisskb 2accfdb7eff65f390c4308b0e9cb7c3fe48ad63c # git clean -qxdf # < git log -1 # commit 2accfdb7eff65f390c4308b0e9cb7c3fe48ad63c # Author: Linus Torvalds <torvalds@linux-foundation.org> # Date: Mon Jul 29 10:58:28 2024 -0700 # # profiling: attempt to remove per-cpu profile flip buffer # # This is the really old legacy kernel profiling code, which has long # since been obviated by "real profiling" (ie 'prof' and company), and # mainly remains as a source of syzbot reports. # # There are anecdotal reports that people still use it for boot-time # profiling, but it's unlikely that such use would care about the old NUMA # optimizations in this code from 2004 (commit ad02973d42: "profile: 512x # Altix timer interrupt livelock fix" in the BK import archive at [1]) # # So in order to head off future syzbot reports, let's try to simplify # this code and get rid of the per-cpu profile buffers that are quite a # large portion of the complexity footprint of this thing (including CPU # hotplug callbacks etc). # # It's unlikely anybody will actually notice, or possibly, as Thomas put # it: "Only people who indulge in nostalgia will notice :)". # # That said, if it turns out that this code is actually actively used by # somebody, we can always revert this removal. Thus the "attempt" in the # summary line. # # [ Note: in a small nod to "the profiling code can cause NUMA problems", # this also removes the "increment the last entry in the profiling array # on any unknown hits" logic. That would account any program counter in # a module to that single counter location, and might exacerbate any # NUMA cacheline bouncing issues ] # # Link: https://lore.kernel.org/all/CAHk-=wgs52BxT4Zjmjz8aNvHWKxf5_ThBY4bYL1Y6CTaNL2dTw@mail.gmail.com/ # Link: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git [1] # Cc: Thomas Gleixner <tglx@linutronix.de> # Cc: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp> # Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld --version # < git log --format=%s --max-count=1 2accfdb7eff65f390c4308b0e9cb7c3fe48ad63c # make -s -j 160 ARCH=sparc64 O=/kisskb/build/linus_allnoconfig_sparc64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux- allnoconfig # < make -s -j 160 ARCH=sparc64 O=/kisskb/build/linus_allnoconfig_sparc64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux- help # make -s -j 160 ARCH=sparc64 O=/kisskb/build/linus_allnoconfig_sparc64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux- olddefconfig # make -s -j 160 ARCH=sparc64 O=/kisskb/build/linus_allnoconfig_sparc64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux- <stdin>:1519:2: warning: #warning syscall clone3 not implemented [-Wcpp] /kisskb/src/arch/sparc/vdso/vclock_gettime.c:254:1: warning: no previous prototype for '__vdso_clock_gettime' [-Wmissing-prototypes] 254 | __vdso_clock_gettime(clockid_t clock, struct __kernel_old_timespec *ts) | ^~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vclock_gettime.c:282:1: warning: no previous prototype for '__vdso_clock_gettime_stick' [-Wmissing-prototypes] 282 | __vdso_clock_gettime_stick(clockid_t clock, struct __kernel_old_timespec *ts) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vclock_gettime.c:307:1: warning: no previous prototype for '__vdso_gettimeofday' [-Wmissing-prototypes] 307 | __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz) | ^~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vclock_gettime.c:343:1: warning: no previous prototype for '__vdso_gettimeofday_stick' [-Wmissing-prototypes] 343 | __vdso_gettimeofday_stick(struct __kernel_old_timeval *tv, struct timezone *tz) | ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /kisskb/src/arch/sparc/vdso/vdso32/vclock_gettime.c:22: /kisskb/src/arch/sparc/vdso/vdso32/../vclock_gettime.c:254:1: warning: no previous prototype for '__vdso_clock_gettime' [-Wmissing-prototypes] 254 | __vdso_clock_gettime(clockid_t clock, struct __kernel_old_timespec *ts) | ^~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vdso32/../vclock_gettime.c:282:1: warning: no previous prototype for '__vdso_clock_gettime_stick' [-Wmissing-prototypes] 282 | __vdso_clock_gettime_stick(clockid_t clock, struct __kernel_old_timespec *ts) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vdso32/../vclock_gettime.c:307:1: warning: no previous prototype for '__vdso_gettimeofday' [-Wmissing-prototypes] 307 | __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz) | ^~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vdso32/../vclock_gettime.c:343:1: warning: no previous prototype for '__vdso_gettimeofday_stick' [-Wmissing-prototypes] 343 | __vdso_gettimeofday_stick(struct __kernel_old_timeval *tv, struct timezone *tz) | ^~~~~~~~~~~~~~~~~~~~~~~~~ /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld: warning: arch/sparc/vdso/vdso-note.o: missing .note.GNU-stack section implies executable stack /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld: warning: arch/sparc/vdso/vdso32/vdso-note.o: missing .note.GNU-stack section implies executable stack /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker /kisskb/src/kernel/fork.c: In function '__do_sys_clone3': /kisskb/src/kernel/fork.c:3072:2: warning: #warning clone3() entry point is missing, please fix [-Wcpp] 3072 | #warning clone3() entry point is missing, please fix | ^~~~~~~ Completed OK # rm -rf /kisskb/build/linus_allnoconfig_sparc64-gcc13 # Build took: 0:06:56.798211
© Michael Ellerman 2006-2018.