Re: [BPF PATCH for-next] cgroup/bpf: fast path for not loaded skb BPF filtering

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

 



On 12/14/21 17:54, sdf@xxxxxxxxxx wrote:
On 12/11, Pavel Begunkov wrote:
On 12/11/21 01:56, Martin KaFai Lau wrote:
> On Sat, Dec 11, 2021 at 01:15:05AM +0000, Pavel Begunkov wrote:
> > That was the first idea, but it's still heavier than I'd wish. 0.3%-0.7%
> > in profiles, something similar in reqs/s. rcu_read_lock/unlock() pair is
> > cheap but anyway adds 2 barrier()s, and with bitmasks we can inline
> > the check.
> It sounds like there is opportunity to optimize
> __cgroup_bpf_prog_array_is_empty().
>
> How about using rcu_access_pointer(), testing with &empty_prog_array.hdr,
> and then inline it?  The cgroup prog array cannot be all
> dummy_bpf_prog.prog.  If that could be the case, it should be replaced
> with &empty_prog_array.hdr earlier, so please check.

I'd need to expose and export empty_prog_array, but that should do.
Will try it out, thanks

Note that we already use __cgroup_bpf_prog_array_is_empty in
__cgroup_bpf_run_filter_setsockopt/__cgroup_bpf_run_filter_getsockopt
for exactly the same purpose. If you happen to optimize it, pls
update these places as well.

Just like it's already done in the patch? Or maybe you mean something else?

--
Pavel Begunkov



[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