microsoft / microsoft/ebpf-for-windows

Provide alternative version of helper functions for dispatch vs passive program types

Open
#2,957 1 comment 0 reactions 0 assignees View on GitHub
help wanted optimization triaged
Dominant language
C
Stars
3.6k
Forks
311
Avg merge
6d 10h
Merged PRs (30d)
21

Description

KeGetCurrentIrql is relatively expensive, but can be avoided if the function can be guaranteed that the caller is at dispatch already.

One option:
Provide two versions of helper functions, one that assumes IRQL == dispatch and one that assumes IRQL <= dispatch.

Based on the required_irql in the ebpf_program_data_t, select one of the two possible helper functions.

Contributor guide

Open the contributing guide

Research direction

Start by tracing the helper functions that call KeGetCurrentIrql and inspect ebpf_program_data_t, especially required_irql. Determine how dispatch and passive program types are identified, then define the completion criteria as selecting the appropriate helper version without the unnecessary IRQL query.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.