cadets / freebsd-old

FreeBSD src tree http://www.FreeBSD.org/
Other
12 stars 7 forks source link

Create new "buffer" SPI #97

Closed gcjenkinson closed 5 years ago

gcjenkinson commented 6 years ago

The proposed buffer SPI allows buffers to be provided either by the Dtrace kernel module itself or by another source. Principal, Aggregation and Speculation buffers provided by an external buffer provider can then be processed differently. For example, in the case of distributed DTrace the trace buffers are send through a distributed log primitive for further processing. Trace buffers allocated by an external source, act as an integration point between the Dtrace Kernel module and the Distributed DTrace log primitive.

gcjenkinson commented 5 years ago

An new SPI interface was added to dtrace allowing in-kernel consumers to register and receive callbacks as the dtrace state machine transitions into the go and stop states. These in-kernel consumers then behave identically to user-space Dtrace clients, periodically swapping and consuming the Dtrace per-CPU buffers.