freebsd-skq/sys/i386
Mark Johnston 610141cebb Add stack_save_td_running(), a function to trace the kernel stack of a
running thread.

It is currently implemented only on amd64 and i386; on these
architectures, it is implemented by raising an NMI on the CPU on which
the target thread is currently running. Unlike stack_save_td(), it may
fail, for example if the thread is running in user mode.

This change also modifies the kern.proc.kstack sysctl to use this function,
so that stacks of running threads are shown in the output of "procstat -kk".
This is handy for debugging threads that are stuck in a busy loop.

Reviewed by:	bdrewery, jhb, kib
Sponsored by:	EMC / Isilon Storage Division
Differential Revision:	https://reviews.freebsd.org/D3256
2015-09-11 03:54:37 +00:00
..
acpica If x86 CPU implementation of the MWAIT instruction reasonably 2015-05-09 12:28:48 +00:00
bios Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
conf Add pmspvc device back to GENERIC. The issues with the device playing 2015-08-03 13:49:46 +00:00
i386 Add stack_save_td_running(), a function to trace the kernel stack of a 2015-09-11 03:54:37 +00:00
ibcs2 Replace struct filedesc argument in getvnode with struct thread 2015-06-16 13:09:18 +00:00
include Merge stack(9) implementations for i386 and amd64 under x86/. 2015-09-11 03:24:07 +00:00
isa Convert between abridged (from FXSAVE) and unabridged (from FSAVE) 2015-07-10 09:20:13 +00:00
linux Implement lockless resource limits. 2015-06-10 10:48:12 +00:00
pci Remove support for Xen PV domU kernels. Support for HVM domU kernels 2015-04-30 15:48:48 +00:00
svr4 MFamd64: Move extern declaration of _ucodesel and _udatasel to 2014-11-02 21:40:32 +00:00
xbox After r261980, the local ptr variable in xbox_init() is no longer used, 2014-02-16 22:48:36 +00:00
Makefile Delete duplicate tags entry I introduced in -r223901. 2011-07-15 17:27:26 +00:00