Re: [PATCH bpf v2 0/3] bpf: two fixes for bpf iterators

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 8/18/20 3:23 PM, Yonghong Song wrote:
Patch #1 fixed a rcu stall warning when traversing large number
of tasks/files without overflowing seq_file buffer. The method
is to control the number of visited objects in bpf_seq_read()
so all bpf iterators will benefit.

Patch #2 calculated tid properly in a namespace in order to avoid
visiting the name task multiple times.

Patch #3 handled read() error code EAGAIN properly in bpftool
bpf_iter userspace code to collect pids. The change is needed
due to Patch #1.

Sorry. Missed the changelog below.

Changelogs:
  - v1 -> v2:
    . do ratelimiting in bpf_seq_read() with a counter.
      cond_resched() doesn't work as some iterators (e.g., tcp,
      netlink, etc.) has rcu read critical section across
      consecutive seq_ops->next() functions.


Yonghong Song (3):
   bpf: fix a rcu_sched stall issue with bpf task/task_file iterator
   bpf: avoid visit same object multiple times
   bpftool: handle EAGAIN error code properly in pids collection

  kernel/bpf/bpf_iter.c    | 15 ++++++++++++++-
  kernel/bpf/task_iter.c   |  3 ++-
  tools/bpf/bpftool/pids.c |  2 ++
  3 files changed, 18 insertions(+), 2 deletions(-)




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux