- Joined
- Mar 6, 2014
- Messages
- 9,553
I'm experimenting with dtrace for smbd trying to troubleshoot why my directory browsing in CIFS is going so slow.
I first started with dtrace -n 'syscall:::entry /execname=="smbd"/ { @[probefunc] = count(); }'
and browsed around a few directories.
It's pretty clear that fcntl is getting called quite a lot.
I have no idea what this means and so I ran: dtrace -n 'syscall:::entry /execname=="smbd"/ {printf("%s %s",execname,copyinstr(arg0)); }'
and my scrollback buffer blew up when I clicked on a single directory (I copied only a small piece of it here)
Did I find something interesting or am I holding dtrace wrong?
Edit: after a bit more reading and thinking I realized I was doing things wrong. :)
I first started with dtrace -n 'syscall:::entry /execname=="smbd"/ { @[probefunc] = count(); }'
and browsed around a few directories.
Code:
dtrace: description 'syscall:::entry ' matched 1048 probes readlink 1 statfs 1 dup2 2 exit 4 fork 4 recvfrom 4 sigreturn 4 sysarch 4 thr_self 4 umask 4 thr_new 7 getpid 8 pipe 8 thr_exit 8 wait4 8 mmap 9 getgroups 10 munmap 10 sigaction 20 chdir 38 sigprocmask 78 __sysctl 104 setgroups 104 setregid 178 setreuid 178 getegid 362 lseek 408 fstatfs 627 extattr_list_fd 1453 close 2627 open 2647 fstat 3661 madvise 4080 getdirentries 5801 __getcwd 7049 pread 9724 write 9732 __acl_get_file 12626 _umtx_op 19441 writev 21313 lstat 27333 extattr_list_file 49988 geteuid 51808 poll 52408 read 62132 stat 73656 extattr_get_file 110919 fcntl 211500 [root@C_GRINDER] ~#
It's pretty clear that fcntl is getting called quite a lot.
I have no idea what this means and so I ran: dtrace -n 'syscall:::entry /execname=="smbd"/ {printf("%s %s",execname,copyinstr(arg0)); }'
and my scrollback buffer blew up when I clicked on a single directory (I copied only a small piece of it here)
Code:
dtrace: error on enabled probe ID 859 (ID 52731: syscall:freebsd:fstat:entry): invalid address (0x11e) in action #2 at DIF offset 12 dtrace: error on enabled probe ID 956 (ID 52537: syscall:freebsd:fcntl:entry): invalid address (0x111) in action #2 at DIF offset 12 dtrace: error on enabled probe ID 956 (ID 52537: syscall:freebsd:fcntl:entry): invalid address (0x109) in action #2 at DIF offset 12 dtrace: error on enabled probe ID 956 (ID 52537: syscall:freebsd:fcntl:entry): invalid address (0x109) in action #2 at DIF offset 12 dtrace: error on enabled probe ID 956 (ID 52537: syscall:freebsd:fcntl:entry): invalid address (0x111) in action #2 at DIF offset 12 2 53049 extattr_get_file:entry smbd ANNOYING DIRECTORY 2 53049 extattr_get_file:entry smbd ANNOYING DIRECTORY dtrace: error on enabled probe ID 956 (ID 52537: syscall:freebsd:fcntl:entry): invalid address (0x111) in action #2 at DIF offset 12 dtrace: error on enabled probe ID 956 (ID 52537: syscall:freebsd:fcntl:entry): invalid address (0x111) in action #2 at DIF offset 12 dtrace: error on enabled probe ID 1023 (ID 52403: syscall:freebsd:geteuid:entry): invalid address (0xff) in action #2 at DIF offset 12 dtrace: error on enabled probe ID 620 (ID 53209: syscall:freebsd:extattr_list_fd:entry): invalid address (0x11e) in action #2 at DIF offset 12 2 52729 stat:entry smbd ANNOYING DIRECTORY dtrace: error on enabled probe ID 1023 (ID 52403: syscall:freebsd:geteuid:entry): invalid address (0xff) in action #2 at DIF offset 12 2 53211 extattr_list_file:entry smbd ANNOYING DIRECTORY 2 52729 stat:entry smbd ANNOYING DIRECTORY dtrace: error on enabled probe ID 927 (ID 52595: syscall:freebsd:writev:entry): invalid address (0x123) in action #2 at DIF offset 12 2 52771 poll:entry smbd 2 52771 poll:entry smbd $ dtrace: error on enabled probe ID 1045 (ID 52359: syscall:freebsd:read:entry): invalid address (0x123) in action #2 at DIF offset 12 dtrace: error on enabled probe ID 1045 (ID 52359: syscall:freebsd:read:entry): invalid address (0x123) in action #2 at DIF offset 12 2 52363 open:entry smbd /mnt/Tank/ANNOYING SHARE/.zfs/snapshot dtrace: error on enabled probe ID 660 (ID 53129: syscall:freebsd:fstatfs:entry): invalid address (0x11f) in action #2 at DIF offset 12 dtrace: error on enabled probe ID 852 (ID 52745: syscall:freebsd:getdirentries:entry): invalid address (0x11f) in action #2 at DIF offset 12 dtrace: error on enabled probe ID 852 (ID 52745: syscall:freebsd:getdirentries:entry): invalid address (0x11f) in action #2 at DIF offset 12 dtrace: error on enabled probe ID 579 (ID 53291: syscall:freebsd:lseek:entry): invalid address (0x11f) in action #2 at DIF offset 12 dtrace: error on enabled probe ID 1042 (ID 52365: syscall:freebsd:close:entry): invalid address (0x11f) in action #2 at DIF offset 12 dtrace: error on enabled probe ID 927 (ID 52595: syscall:freebsd:writev:entry): invalid address (0x123) in action #2 at DIF offset 12 2 52771 poll:entry smbd 2 52771 poll:entry smbd $ dtrace: error on enabled probe ID 1045 (ID 52359: syscall:freebsd:read:entry): invalid address (0x123) in action #2 at DIF offset 12 dtrace: error on enabled probe ID 1045 (ID 52359: syscall:freebsd:read:entry): invalid address (0x123) in action #2 at DIF offset 12
Did I find something interesting or am I holding dtrace wrong?
Edit: after a bit more reading and thinking I realized I was doing things wrong. :)
Last edited: