Merge tag 'livepatching-for-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-block.git] / lib / flex_proportions.c
index 05cccbcf1661a360973bfa4169e57fdb02112bc0..83332fefa6f42e5e57434d214594e7c2306b1a0d 100644 (file)
@@ -70,6 +70,7 @@ bool fprop_new_period(struct fprop_global *p, int periods)
         */
        if (events <= 1)
                return false;
+       preempt_disable_nested();
        write_seqcount_begin(&p->sequence);
        if (periods < 64)
                events -= events >> periods;
@@ -77,6 +78,7 @@ bool fprop_new_period(struct fprop_global *p, int periods)
        percpu_counter_add(&p->events, -events);
        p->period += periods;
        write_seqcount_end(&p->sequence);
+       preempt_enable_nested();
 
        return true;
 }