9aaefb2c53
The TCP server implementation in dbgport does not track clients, so it may try to write to a disconected socket resulting in SIGPIPE. Avoid that by setting SO_NOSIGPIPE socket option. Because dbgport emulates an I/O port to guest, the communication is done byte by byte. Reduce latency of the TCP/IP transfers by using TCP_NODELAY option. In my tests that change improves performance of kgdb commands with lots of output (e.g. info threads) by two orders of magnitude. A general note. Since we have a uart emulation in bhyve, that can be used for the console and gdb access to guests. So, bvmconsole and bvmdebug could be de-orbited now. But there are many existing deployments that still dependend on those. Discussed with: julian, jhb MFC after: 2 weeks Sponsored by: Panzura |
||
---|---|---|
.. | ||
acpi.c | ||
acpi.h | ||
ahci.h | ||
atkbdc.c | ||
atkbdc.h | ||
bhyve.8 | ||
bhyvegc.c | ||
bhyvegc.h | ||
bhyverun.c | ||
bhyverun.h | ||
block_if.c | ||
block_if.h | ||
bootrom.c | ||
bootrom.h | ||
console.c | ||
console.h | ||
consport.c | ||
dbgport.c | ||
dbgport.h | ||
fwctl.c | ||
fwctl.h | ||
inout.c | ||
inout.h | ||
ioapic.c | ||
ioapic.h | ||
Makefile | ||
Makefile.depend | ||
mem.c | ||
mem.h | ||
mevent_test.c | ||
mevent.c | ||
mevent.h | ||
mptbl.c | ||
mptbl.h | ||
pci_ahci.c | ||
pci_e82545.c | ||
pci_emul.c | ||
pci_emul.h | ||
pci_fbuf.c | ||
pci_hostbridge.c | ||
pci_irq.c | ||
pci_irq.h | ||
pci_lpc.c | ||
pci_lpc.h | ||
pci_passthru.c | ||
pci_uart.c | ||
pci_virtio_block.c | ||
pci_virtio_console.c | ||
pci_virtio_net.c | ||
pci_virtio_rnd.c | ||
pci_xhci.c | ||
pci_xhci.h | ||
pm.c | ||
post.c | ||
ps2kbd.c | ||
ps2kbd.h | ||
ps2mouse.c | ||
ps2mouse.h | ||
rfb.c | ||
rfb.h | ||
rtc.c | ||
rtc.h | ||
smbiostbl.c | ||
smbiostbl.h | ||
sockstream.c | ||
sockstream.h | ||
spinup_ap.c | ||
spinup_ap.h | ||
task_switch.c | ||
uart_emul.c | ||
uart_emul.h | ||
usb_emul.c | ||
usb_emul.h | ||
usb_mouse.c | ||
vga.c | ||
vga.h | ||
virtio.c | ||
virtio.h | ||
xmsr.c | ||
xmsr.h |