Messages in this thread Patch in this message | | | Date | Mon, 24 Feb 2020 15:01:42 +0100 | From | Thomas Gleixner <> | Subject | [patch V3 11/22] bpf: Replace cant_sleep() with cant_migrate() |
| |
As already discussed in the previous change which introduced BPF_RUN_PROG_PIN_ON_CPU() BPF only requires to disable migration to guarantee per CPUness.
If RT substitutes the preempt disable based migration protection then the cant_sleep() check will obviously trigger as preemption is not disabled.
Replace it by cant_migrate() which maps to cant_sleep() on a non RT kernel and will verify that migration is disabled on a full RT kernel.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> --- include/linux/filter.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
--- a/include/linux/filter.h +++ b/include/linux/filter.h @@ -561,7 +561,7 @@ DECLARE_STATIC_KEY_FALSE(bpf_stats_enabl #define __BPF_PROG_RUN(prog, ctx, dfunc) ({ \ u32 ret; \ - cant_sleep(); \ + cant_migrate(); \ if (static_branch_unlikely(&bpf_stats_enabled_key)) { \ struct bpf_prog_stats *stats; \ u64 start = sched_clock(); \
| |