[Bug 230273] linux_select CALL is very slow (100 ms)
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 28 Jun 2022 21:19:32 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=230273 --- Comment #11 from Jason Mader <jasonmader@gmail.com> --- (In reply to Dmitry Chagin from comment #10) I've since updated the computer to FreeBSD 13.0-RELEASE, but here is a new ktrace, kdump -HAR -m 32, 35539 101733 lstc_server 0.000004 CALL L64 linux_time(0) 35539 101733 lstc_server 0.000001 RET L64 linux_time 1656449008/0x62bb67f0 35539 101733 lstc_server 0.000002 CALL L64 linux_newstat(0x800b88f74,0x7fffffffbe60) 35539 101733 lstc_server 0.000002 NAMI L64 "/compat/linux/etc/localtime" 35539 101733 lstc_server 0.000002 NAMI L64 "/etc/localtime" 35539 101733 lstc_server 0.000002 STRU L64 struct stat {dev=16125346129888550616, ino=897, mode=0100444, nlink=1, uid=0, gid=0, rdev=18446744073709551615, atime=1632399362.502502000, mtime=1632399362.502578000, ctime=1632932022.897132000, birthtime=1632399362.502578000, size=118, blksize=4096, blocks=1, flags=0x800 } 35539 101733 lstc_server 0.000001 RET L64 linux_newstat 0 35539 101733 lstc_server 0.000004 CALL L64 linux_time(0) 35539 101733 lstc_server 0.000002 RET L64 linux_time 1656449008/0x62bb67f0 35539 101733 lstc_server 0.000002 CALL L64 linux_time(0) 35539 101733 lstc_server 0.000001 RET L64 linux_time 1656449008/0x62bb67f0 35539 101733 lstc_server 0.000003 CALL L64 linux_time(0) 35539 101733 lstc_server 0.000001 RET L64 linux_time 1656449008/0x62bb67f0 35539 101733 lstc_server 0.000003 CALL L64 linux_semop(0x60000,0x7fffffffe3d0,0x1) 35539 101733 lstc_server 0.000002 RET L64 linux_semop -1 errno -11 Resource temporarily unavailable 35539 101733 lstc_server 0.000002 CALL L64 linux_select(0x6,0x7fffffffe310,0,0,0x7fffffffe390) 35539 101733 lstc_server 156.624888 RET L64 linux_select 1 35539 101733 lstc_server 0.000042 CALL L64 linux_accept(0x4,0,0x7fffffffe3ac) 35539 101733 lstc_server 0.000006 RET L64 linux_accept 0 You say timeval conversion, I looked at the /etc/localtime (which is FreeBSD UTC) # cksum etc/localtime 2003832353 118 etc/localtime There is no Linux /compat/linux/etc/localtime in this Jail, and when I check a Linux computer's UTC, it is slightly different, # hexdump UTC 0000000 5a54 6669 0032 0000 0000 0000 0000 0000 0000010 0000 0000 0000 0000 0000 0000 0000 0000 0000020 0000 0000 0000 0100 0000 0400 0000 0000 0000030 0000 5455 0043 5a54 6669 0032 0000 0000 0000040 0000 0000 0000 0000 0000 0000 0000 0000 0000050 0000 0000 0000 0000 0000 0000 0100 0000 0000060 0400 0000 0000 0000 5455 0043 550a 4354 0000070 0a30 0000072 After adding the Linux UTC as /compat/linux/etc/localtime 35539 101733 lstc_server 0.000003 CALL L64 linux_time(0) 35539 101733 lstc_server 0.000001 RET L64 linux_time 1656450808/0x62bb6ef8 35539 101733 lstc_server 0.000002 CALL L64 linux_newstat(0x800b88f74,0x7fffffffbe60) 35539 101733 lstc_server 0.000001 NAMI L64 "/compat/linux/etc/localtime" 35539 101733 lstc_server 0.000002 NAMI L64 "/compat/linux" 35539 101733 lstc_server 0.000003 NAMI L64 "/compat/linux/etc/localtime" 35539 101733 lstc_server 0.000002 STRU L64 struct stat {dev=16125346129888550616, ino=390, mode=0100644, nlink=1, uid=0, gid=0, rdev=18446744073709551615, atime=1656450714.160038000, mtime=1568973652, ctime=1656450714.160221000, birthtime=1568973652, size=114, blksize=4096, blocks=1, flags=0x800 } 35539 101733 lstc_server 0.000001 RET L64 linux_newstat 0 35539 101733 lstc_server 0.000003 CALL L64 linux_time(0) 35539 101733 lstc_server 0.000003 RET L64 linux_time 1656450808/0x62bb6ef8 35539 101733 lstc_server 0.000002 CALL L64 linux_time(0) 35539 101733 lstc_server 0.000002 RET L64 linux_time 1656450808/0x62bb6ef8 35539 101733 lstc_server 0.000002 CALL L64 linux_time(0) 35539 101733 lstc_server 0.000001 RET L64 linux_time 1656450808/0x62bb6ef8 35539 101733 lstc_server 0.000003 CALL L64 linux_semop(0x60000,0x7fffffffe3d0,0x1) 35539 101733 lstc_server 0.000001 RET L64 linux_semop -1 errno -11 Resource temporarily unavailable 35539 101733 lstc_server 0.000004 CALL L64 linux_select(0x6,0x7fffffffe310,0,0,0x7fffffffe390) 35539 101733 lstc_server 156.860688 RET L64 linux_select 1 35539 101733 lstc_server 0.000040 CALL L64 linux_accept(0x4,0,0x7fffffffe3ac) 35539 101733 lstc_server 0.000004 RET L64 linux_accept 0 -- You are receiving this mail because: You are the assignee for the bug.