[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <64a343ed28ccc_6520520836@john.notmuch>
Date: Mon, 03 Jul 2023 14:55:57 -0700
From: John Fastabend <john.fastabend@...il.com>
To: Tero Kristo <tero.kristo@...ux.intel.com>, shuah@...nel.org,
tglx@...utronix.de, x86@...nel.org, bp@...en8.de,
dave.hansen@...ux.intel.com, mingo@...hat.com
Cc: ast@...nel.org, linux-kselftest@...r.kernel.org,
linux-kernel@...r.kernel.org, andrii@...nel.org,
daniel@...earbox.net, bpf@...r.kernel.org
Subject: RE: [PATCH 0/2] x86/BPF: Add new BPF helper call bpf_rdtsc
Tero Kristo wrote:
> Hello,
>
> This patch series adds a new x86 arch specific BPF helper, bpf_rdtsc()
> which can be used for reading the hardware time stamp counter (TSC.)
> Currently the same counter is directly accessible from userspace
> (using RDTSC instruction), and kernel space using various rdtsc_*()
> APIs, however eBPF lacks the support.
>
> The main usage for the TSC counter is for various profiling and timing
> purposes, getting accurate cycle counter values. The counter can be
> currently read from BPF programs by using the existing perf subsystem
> services (bpf_perf_event_read()), however its usage is cumbersome at
> best. Additionally, the perf subsystem provides relative value only
> for the counter, but absolute values are desired by some use cases
> like Wult [1]. The absolute value of TSC can be read with BPF programs
> currently via some kprobe / bpf_core_read() magic (see [2], [3], [4] for
> example), but this relies on accessing kernel internals and is not
> stable API, and is pretty cumbersome. Thus, this patch proposes a new
> arch x86 specific BPF helper to avoid the above issues.
>
> -Tero
>
> [1] https://github.com/intel/wult
> [2] https://github.com/intel/wult/blob/c92237c95b898498faf41e6644983102d1fe5156/helpers/wult-tdt-helper/tdt-bpf.c#L102
> [3] https://github.com/intel/wult/blob/c92237c95b898498faf41e6644983102d1fe5156/helpers/wult-tdt-helper/tdt-bpf.c#L133
> [4] https://github.com/intel/wult/blob/c92237c95b898498faf41e6644983102d1fe5156/helpers/wult-tdt-helper/tdt-bpf.c#L488
>
>
>
Makes a lot of sense to me.
Acked-by: John Fastabend <john.fastabend@...il.com>
Powered by blists - more mailing lists