freebsd-nq/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 Use strlcpy() instead of strncpy() because subsequent mkstemps expects 2015-09-17 18:11:26 +00:00
acpi.h Implement a PCI interrupt router to route PCI legacy INTx interrupts to 2014-05-15 14:16:55 +00:00
ahci.h Polish AHCI disk identify data and fix speed negotiation. 2015-03-13 20:14:35 +00:00
atkbdc.c Import bhyve_graphics into CURRENT. Thanks to all who tested 2016-07-04 03:19:06 +00:00
atkbdc.h Import bhyve_graphics into CURRENT. Thanks to all who tested 2016-07-04 03:19:06 +00:00
bhyve.8 Typo fixed: arbitraty -> arbitrary. 2016-10-17 09:40:18 +00:00
bhyvegc.c Import bhyve_graphics into CURRENT. Thanks to all who tested 2016-07-04 03:19:06 +00:00
bhyvegc.h Import bhyve_graphics into CURRENT. Thanks to all who tested 2016-07-04 03:19:06 +00:00
bhyverun.c Fix improper use of "its". 2016-11-08 23:59:41 +00:00
bhyverun.h Fix CTASSERT issue in a more clean way 2016-07-06 16:02:15 +00:00
block_if.c Improve error message when failing to open a backing file 2016-05-27 11:46:54 +00:00
block_if.h Temporarily revert r282922 which bumped the max descriptors. 2015-05-21 04:19:22 +00:00
bootrom.c Restructure memory allocation in bhyve to support "devmem". 2015-06-18 06:00:17 +00:00
bootrom.h Restructure memory allocation in bhyve to support "devmem". 2015-06-18 06:00:17 +00:00
console.c Import bhyve_graphics into CURRENT. Thanks to all who tested 2016-07-04 03:19:06 +00:00
console.h Import bhyve_graphics into CURRENT. Thanks to all who tested 2016-07-04 03:19:06 +00:00
consport.c Handle single-byte reads from the bvmcons port (0x220) by returning 2014-04-08 21:02:03 +00:00
dbgport.c bhyve: stability and performance improvement for dbgport 2016-11-29 13:11:00 +00:00
dbgport.h
fwctl.c Use MIN()/MAX() macros from sys/param.h. 2016-04-22 06:25:32 +00:00
fwctl.h Simple sysctl-like firmware query interface. Similar in operation 2015-10-02 21:09:49 +00:00
inout.c Deprecate the 3-way return values from vm_gla2gpa() and vm_copy_setup(). 2015-05-06 16:25:20 +00:00
inout.h Simplify the meaning of return values from the inout handlers. After this 2014-07-25 20:18:35 +00:00
ioapic.c Make PCI interupts allocation static when using bootrom (UEFI). 2016-07-14 17:16:10 +00:00
ioapic.h Make PCI interupts allocation static when using bootrom (UEFI). 2016-07-14 17:16:10 +00:00
Makefile Add virtio-console support to bhyve. 2016-09-17 13:48:01 +00:00
Makefile.depend DIRDEPS_BUILD: Update dependencies. 2016-08-31 19:30:46 +00:00
mem.c Support PCI extended config space in bhyve. 2014-08-08 03:49:01 +00:00
mem.h Support PCI extended config space in bhyve. 2014-08-08 03:49:01 +00:00
mevent_test.c
mevent.c Re-adding an event to a kqueue modifies the parameters of the original event. 2014-05-05 16:30:03 +00:00
mevent.h
mptbl.c Implement a PCI interrupt router to route PCI legacy INTx interrupts to 2014-05-15 14:16:55 +00:00
mptbl.h
pci_ahci.c Fix NCQ TRIM emulation. 2016-07-17 14:13:47 +00:00
pci_e82545.c Invert calloc(3) argument order. 2016-08-30 12:40:12 +00:00
pci_emul.c Make PCI interupts allocation static when using bootrom (UEFI). 2016-07-14 17:16:10 +00:00
pci_emul.h Add emulation for multiple (up to 16) MSI vectors for AHCI. 2016-07-08 21:30:18 +00:00
pci_fbuf.c - Change the fbuf "vga" parameter to "vga=on|io|off". 2016-07-27 00:03:29 +00:00
pci_hostbridge.c The 'hostbridge' device exists to allow guests to infer msi/msix 2015-05-21 20:11:52 +00:00
pci_irq.c Make PCI interupts allocation static when using bootrom (UEFI). 2016-07-14 17:16:10 +00:00
pci_irq.h Make PCI interupts allocation static when using bootrom (UEFI). 2016-07-14 17:16:10 +00:00
pci_lpc.c Restructure memory allocation in bhyve to support "devmem". 2015-06-18 06:00:17 +00:00
pci_lpc.h Restructure memory allocation in bhyve to support "devmem". 2015-06-18 06:00:17 +00:00
pci_passthru.c Fix gcc warnings 2016-07-06 05:05:03 +00:00
pci_uart.c
pci_virtio_block.c bhyve: replace uninitialized variable "offset". 2016-05-13 14:38:04 +00:00
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 Fix typo: nmd->cur_tx_ring should be used in pci_vtnet_netmap_writev() 2016-03-14 08:48:16 +00:00
pci_virtio_rnd.c Set the subvendor field in config space to the vendor ID. 2015-05-13 17:38:07 +00:00
pci_xhci.c Catch another case where an XHCI interrupt was being 2016-07-26 23:40:25 +00:00
pci_xhci.h Import bhyve_graphics into CURRENT. Thanks to all who tested 2016-07-04 03:19:06 +00:00
pm.c Reassign copyright statements on several files from Advanced 2015-04-23 14:22:20 +00:00
post.c
ps2kbd.c Implement right shift/ctl, and convert the VNC/xorg scancode 2016-07-11 06:31:15 +00:00
ps2kbd.h Import bhyve_graphics into CURRENT. Thanks to all who tested 2016-07-04 03:19:06 +00:00
ps2mouse.c Import bhyve_graphics into CURRENT. Thanks to all who tested 2016-07-04 03:19:06 +00:00
ps2mouse.h Import bhyve_graphics into CURRENT. Thanks to all who tested 2016-07-04 03:19:06 +00:00
rfb.c Fix gcc build errors with SSE 4.2 detection and gcc warnings 2016-07-06 05:17:07 +00:00
rfb.h Import bhyve_graphics into CURRENT. Thanks to all who tested 2016-07-04 03:19:06 +00:00
rtc.c Add "-u" option to bhyve(8) to indicate that the RTC should maintain UTC time. 2015-02-24 02:04:16 +00:00
rtc.h Add "-u" option to bhyve(8) to indicate that the RTC should maintain UTC time. 2015-02-24 02:04:16 +00:00
smbiostbl.c Correct display of bhyve SMBIOS UUIDs with dmidecode by bumping the version. 2014-09-23 01:17:22 +00:00
smbiostbl.h Add SMBIOS support. 2014-03-04 17:12:06 +00:00
sockstream.c Import bhyve_graphics into CURRENT. Thanks to all who tested 2016-07-04 03:19:06 +00:00
sockstream.h Import bhyve_graphics into CURRENT. Thanks to all who tested 2016-07-04 03:19:06 +00:00
spinup_ap.c Use 'cpuset_t' to represent the vcpus active in a virtual machine. 2014-03-20 18:15:37 +00:00
spinup_ap.h
task_switch.c Fix CTASSERT issue in a more clean way 2016-07-06 16:02:15 +00:00
uart_emul.c Always assert DCD and DSR in bhyve's uart emulation. 2015-07-06 19:33:29 +00:00
uart_emul.h
usb_emul.c Import bhyve_graphics into CURRENT. Thanks to all who tested 2016-07-04 03:19:06 +00:00
usb_emul.h Import bhyve_graphics into CURRENT. Thanks to all who tested 2016-07-04 03:19:06 +00:00
usb_mouse.c Fix gcc warning 2016-07-06 05:17:56 +00:00
vga.c Fix unchecked array reference in the VGA device emulation code. 2016-10-25 17:13:58 +00:00
vga.h Import bhyve_graphics into CURRENT. Thanks to all who tested 2016-07-04 03:19:06 +00:00
virtio.c Handling indirect descriptors is a capability of the host and 2015-05-11 21:24:10 +00:00
virtio.h Add virtio-console support to bhyve. 2016-09-17 13:48:01 +00:00
xmsr.c Emulate MSR 0xC0011024 when running on AMD processors. 2015-02-24 05:15:40 +00:00
xmsr.h Restructure the MSR handling so it is entirely handled by processor-specific 2014-09-20 02:35:21 +00:00