Skip to content

perf(callstack): Working set query backed by native thread pool#647

Open
rabbitstack wants to merge 1 commit intomasterfrom
more-resilient-working-set-query
Open

perf(callstack): Working set query backed by native thread pool#647
rabbitstack wants to merge 1 commit intomasterfrom
more-resilient-working-set-query

Conversation

@rabbitstack
Copy link
Owner

What is the purpose of this PR / why it is needed?

Introduce a fixed-size native OS thread pool to isolate QueryWorkingSetEx from the Go scheduler. Each worker thread loops on WaitForMultipleObjects([in, quit]) so the pool can be shut down cleanly without TerminateThread, returning locked goroutines and OS threads to the runtime on close.

What type of change does this PR introduce?


Uncomment one or more /kind <> lines:

/kind feature (non-breaking change which adds functionality)

/kind bug-fix (non-breaking change which fixes an issue)

/kind refactor (non-breaking change that restructures the code, while not changing the original functionality)

/kind breaking (fix or feature that would cause existing functionality to not work as expected

/kind cleanup

/kind improvement

/kind design

/kind documentation

/kind other (change that doesn't pertain to any of the above categories)

Any specific area of the project related to this PR?


Uncomment one or more /area <> lines:

/area instrumentation

/area telemetry

/area rule-engine

/area filters

/area yara

/area event

/area captures

/area alertsenders

/area outputs

/area rules

/area filaments

/area config

/area cli

/area tests

/area ci

/area build

/area docs

/area deps

/area evasion

/area other

Special notes for the reviewer


Does this PR introduce a user-facing change?


Introduce a fixed-size native OS thread pool to isolate
QueryWorkingSetEx from the Go scheduler. Each worker thread loops on WaitForMultipleObjects([in, quit]) so the pool can be shut down cleanly without TerminateThread, returning locked goroutines and OS threads to the runtime on close.
@rabbitstack rabbitstack force-pushed the more-resilient-working-set-query branch from 1fb50b0 to 076e72a Compare March 13, 2026 18:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant