On Mon 28-08-23 13:27:23, Waiman Long wrote:
On 8/28/23 13:07, Yosry Ahmed wrote:I believe Yosry wanted to disable preemption _after_ the lock is taken
Locking with mutex with preemption disabled is an oxymoron.Here I agree with you. Let's go with the approach which is easy toDo you prefer we also switch to using a mutex (with preemption
undo for now. Though I prefer the new explicit interface for flushing,
that step would be very hard to undo. Let's reevaluate if the proposed
approach shows negative impact on production traffic and I think
Cloudflare folks can give us the results soon.
disabled) to avoid the scenario Michal described where flushers give
up the lock and sleep resulting in an unbounded wait time in the worst
case?
to reduce the time spent while it is held. The idea to use the mutex is
to reduce spinning and more importantly to get rid of lock dropping
part. It is not really clear (but unlikely) we can drop it while
preserving the spinlock as the thing scales with O(#cgroups x #cpus)
in the worst case.