[RFC] Use mutexes by default in db_open()
Jeremy Allison
jra at samba.org
Tue Apr 25 00:26:48 UTC 2017
On Mon, Apr 24, 2017 at 07:58:31PM +0200, Ralph Böhme wrote:
> On Mon, Apr 24, 2017 at 10:21:56AM -0700, Jeremy Allison wrote:
> > On Mon, Apr 24, 2017 at 04:16:45PM +0200, Ralph Böhme via samba-technical wrote:
> > > Hi!
> > >
> > > Is there any reason not to use mutexes by default? Maybe for 4.7?
> >
> > Wow ! +1 from me - that seems like a no-brainer to me !
>
> fwiw, here are the full strace stats:
>
>
> $ sudo strace -c -p 6167
> strace: Process 6167 attached
> ^Cstrace: Process 6167 detached
> % time seconds usecs/call calls errors syscall
> ------ ----------- ----------- --------- --------- ----------------
> 32.16 3.149828 6 498574 fcntl
> 14.44 1.413707 7 216321 20408 stat
> 5.92 0.579759 7 83076 readv
> 5.27 0.515892 8 63591 32048 getxattr
> 4.20 0.410900 8 51542 epoll_wait
> 4.07 0.398473 10 41540 writev
> 4.01 0.392753 6 61370 20204 lstat
> 3.23 0.316353 6 51543 getrusage
> 3.11 0.304510 6 50236 fstat
> 3.10 0.303822 15 20207 open
> 3.03 0.297227 6 51125 getcwd
> 3.00 0.293724 10 30202 sendmsg
> 2.81 0.274921 6 42566 read
> 2.60 0.254488 6 40401 chdir
> 2.18 0.213752 12 18352 futex
> 2.17 0.212816 10 20408 getdents
> 1.54 0.151269 15 10101 setxattr
> 1.49 0.145945 7 20209 close
> 0.85 0.083246 8 10000 utimensat
> 0.66 0.064636 6 10000 10000 fgetxattr
> 0.05 0.005006 9 533 pwrite64
> 0.03 0.003076 30 101 mkdir
> 0.03 0.002989 10 310 listxattr
> 0.02 0.001473 25 58 munmap
> 0.01 0.001010 112 9 setresgid
> 0.01 0.000639 10 64 mmap
> 0.00 0.000347 18 19 getegid
> 0.00 0.000309 15 21 geteuid
> 0.00 0.000242 8 29 ftruncate
> 0.00 0.000174 19 9 setresuid
> 0.00 0.000124 21 6 setgroups
> 0.00 0.000052 26 2 clock_gettime
> 0.00 0.000023 5 5 mprotect
> 0.00 0.000022 11 2 socket
> 0.00 0.000015 15 1 clone
> 0.00 0.000010 5 2 1 connect
> 0.00 0.000003 2 2 rt_sigprocmask
> 0.00 0.000002 1 2 brk
> 0.00 0.000000 0 2 getgroups
> ------ ----------- ----------- --------- --------- ----------------
> 100.00 9.793537 1392541 82661 total
>
> With mutexes:
>
> $ sudo strace -c -p 6046
> strace: Process 6046 attached
> ^Cstrace: Process 6046 detached
> % time seconds usecs/call calls errors syscall
> ------ ----------- ----------- --------- --------- ----------------
> 19.71 1.543710 7 216186 20408 stat
> 7.74 0.606135 7 82986 readv
> 7.37 0.577316 7 81998 fcntl
> 7.10 0.556157 9 63471 31988 getxattr
> 5.70 0.446476 11 41498 writev
> 5.63 0.440620 9 51499 epoll_wait
> 5.44 0.425990 7 61348 20204 lstat
> 4.82 0.377667 19 20207 open
> 4.28 0.335272 7 51500 getrusage
> 4.25 0.332931 11 30202 sendmsg
> 4.15 0.324819 6 51110 getcwd
> 4.14 0.323940 6 50236 fstat
> 3.80 0.297313 7 42491 read
> 3.59 0.281365 7 40401 chdir
> 2.94 0.230625 11 20408 getdents
> 2.80 0.219255 12 17690 futex
> 2.30 0.179997 18 10101 setxattr
> 1.97 0.154460 8 20209 close
> 1.17 0.091397 9 10000 utimensat
> 0.87 0.068211 7 10000 10000 fgetxattr
> 0.10 0.007916 15 533 pwrite64
> 0.05 0.004069 40 101 mkdir
> 0.05 0.003717 13 295 listxattr
> 0.02 0.001812 31 58 munmap
> 0.01 0.000893 14 64 mmap
> 0.00 0.000363 13 29 ftruncate
> 0.00 0.000118 8 15 getegid
> 0.00 0.000114 7 16 geteuid
> 0.00 0.000076 11 7 setresgid
> 0.00 0.000074 11 7 setresuid
> 0.00 0.000040 8 5 setgroups
> 0.00 0.000034 17 2 socket
> 0.00 0.000024 24 1 clone
> 0.00 0.000019 4 5 mprotect
> 0.00 0.000015 15 1 clock_gettime
> 0.00 0.000011 6 2 1 connect
> 0.00 0.000003 2 2 rt_sigprocmask
> 0.00 0.000002 1 2 getgroups
> 0.00 0.000000 0 2 brk
> ------ ----------- ----------- --------- --------- ----------------
> 100.00 7.832956 974688 82601 total
That does seem to confirm this is a good change to make !
More information about the samba-technical
mailing list