On Mon, 2019-04-15 at 21:22 +0100, David Woodhouse wrote: > > > + 5.86% 0.23% lt-openconnect [kernel.vmlinux] [k] sys_select > > + 5.46% 0.28% lt-openconnect [kernel.vmlinux] [k] core_sys_select > > + 5.36% 0.95% lt-openconnect [kernel.vmlinux] [k] do_select 5% of the time in select(). I think I blame Kevin for that one :) Instead of handling the signals in the mainloop, we now have an extra system call to poll the command fd in the mainloop. Using the command fd to wake the mainloop if it was *already* in select() makes sense, but I think we probably want to set the ->got_cancel_cmd and ->got_pause_cmd flags directly from whatever writes to the other end of that fd, so that the mainloop can "notice" even when it's 100% busy and never otherwise hitting the normal select(). We could even make it optional, so that a caller which *will* set those flags directly, can set another flag to avoid the poll_cmd_fd() call.
Attachment:
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ openconnect-devel mailing list openconnect-devel@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/openconnect-devel