lsof port

Build kernel hooks so that the lsof port doesn't need to grovel in kvm and isn't tied to a specific kernel build.

Serial console and polled I/O

When using a serial console, kernel printfs end up calling into a polled I/O path, potentially stalling kernel operations until the output is finished being transmitted. This is a particular problem at 9600 baud. (Examples of kernel printfs include link state messages, aac(4) COMMAND TIMEOUT messages, etc.) Polled I/O is probably still needed for the debugger, panic handling, etc.

Printf() ends up invoking cnputc(), which calls siocnputc() in the default 6.x serial console case and uart_cnputc() in the default 8.x serial console case. These functions spin while waiting for the tx register to be ready.

(reqst00227383)

printf
tprintf
uprintf
log

sysctl kern.consmsgbuf_size
sysctl kern.msgbuf
sysctl kern.msgbuf_clear
sysctl security.bsd.unprivileged_read_msgbuf

/dev/klog

Netdump

See Netdump for details. Patch is being prepared for commit to head.

Debugging

Debugging data for binaries and libraries

Create .debug files for libraries and binaries, referenced via gnu-debuglink and eventually build-id.

In progress. Related commits (for eventual MFC):

Head

10

9

r244224

r251686

r244236

r252827

r244408

r252827

r244915

r252827

r247054

r252827

r248753

r251686

r251512

r252827

r251513

r252832

r251601

r252812

r251685

r252812

r253580

Next steps:

  1. Enable WITH_DEBUG_FILES for releases

Interested parties: alfred@, markj@

Kernel core enhancements

Be able to extract the following from a core:

reqst00277326 [debug] Include kernel ident data at panic time reqst00193848 Add softclock backlog text to sw watchdog panic to aid in debugging

Serial debugger use with conserver

A remote serial debugging session can be initiated by using "kgdb -r" if a local serial port is available and connected to the device under test. Extend this to communicate with a device under test connected via the Conserver port.

Add a command to gdb or lldb to allow searching memory for a value or byte string. Now implemented in lldb r186127.

Valgrind

kgdb 7.2

gdb 7.2

USB kernel debugging

Use a EHCI Debug Port for ddb or gdb. Design for an adapter can be found at https://bitbucket.org/kmalkki/fx2lib .

Jail enhancements

Per-jail release overrides

Allow release-related variables to be set on a jail-wide basis.

Filesystem support

Add support for mounting in jails:

Comprehensive time accounting

Completely avoid statclock vs hardclock aliasing and other issues by switching from sampled CPU time accounting to comprehensive (i.e., by recording a CPU counter on each context switch).

Installation packaging and deployment

EdMaste/Projects (last edited 2014-02-07 14:53:12 by EdMaste)