[bpf-next,v2,0/2] bpf: Add ability to pin bpf timer to calling CPU

Message ID 20231004162339.200702-1-void@manifault.com
Headers
Series bpf: Add ability to pin bpf timer to calling CPU |

Message

David Vernet Oct. 4, 2023, 4:23 p.m. UTC
  BPF supports creating high resolution timers using bpf_timer_* helper
functions. Currently, only the BPF_F_TIMER_ABS flag is supported, which
specifies that the timeout should be interpreted as absolute time. It
would also be useful to be able to pin that timer to a core. For
example, if you wanted to make a subset of cores run without timer
interrupts, and only have the timer be invoked on a single core.

This patch set adds support for this with a new BPF_F_TIMER_CPU_PIN
flag.  When specified, the HRTIMER_MODE_PINNED flag is passed to
hrtimer_start().

This patch set is based off of commit 93fb2776f43e ("Merge branch
'bpf-xsk-sh-umem'").

---

v1: https://lore.kernel.org/bpf/20231002234708.331192-1-void@manifault.com/

v1 -> v2 changes:
- Put declaration of soft_timer_pinned and abs_timer_pinned selftest
  maps on same line as abs_timer (Song)

David Vernet (2):
  bpf: Add ability to pin bpf timer to calling CPU
  bpf/selftests: Test pinning bpf timer to a core

 include/uapi/linux/bpf.h                      |  4 ++
 kernel/bpf/helpers.c                          |  5 +-
 tools/include/uapi/linux/bpf.h                |  4 ++
 .../testing/selftests/bpf/prog_tests/timer.c  |  4 ++
 tools/testing/selftests/bpf/progs/timer.c     | 63 ++++++++++++++++++-
 5 files changed, 78 insertions(+), 2 deletions(-)
  

Comments

patchwork-bot+netdevbpf@kernel.org Oct. 9, 2023, 2:40 p.m. UTC | #1
Hello:

This series was applied to bpf/bpf-next.git (master)
by Daniel Borkmann <daniel@iogearbox.net>:

On Wed,  4 Oct 2023 11:23:37 -0500 you wrote:
> BPF supports creating high resolution timers using bpf_timer_* helper
> functions. Currently, only the BPF_F_TIMER_ABS flag is supported, which
> specifies that the timeout should be interpreted as absolute time. It
> would also be useful to be able to pin that timer to a core. For
> example, if you wanted to make a subset of cores run without timer
> interrupts, and only have the timer be invoked on a single core.
> 
> [...]

Here is the summary with links:
  - [bpf-next,v2,1/2] bpf: Add ability to pin bpf timer to calling CPU
    https://git.kernel.org/bpf/bpf-next/c/d6247ecb6c1e
  - [bpf-next,v2,2/2] bpf/selftests: Test pinning bpf timer to a core
    https://git.kernel.org/bpf/bpf-next/c/0d7ae0686075

You are awesome, thank you!