freebsd-dev/usr.sbin/bhyve
Andriy Gapon 9aaefb2c53 bhyve: stability and performance improvement for dbgport
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
2016-11-29 13:11:00 +00:00
..
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 bhyve: stability and performance improvement for dbgport 2016-11-29 13:11:00 +00:00
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 virtio_console: handle short writes to an Unix domain socket gracefully. 2016-11-24 22:16:18 +00:00
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