| From: Thomas Gleixner <tglx@linutronix.de> |
| Date: Mon, 24 Feb 2020 15:01:42 +0100 |
| Subject: [PATCH 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> |
| Signed-off-by: Sebastian Andrzej Siewior <bigeasy@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(); \ |