On Thu, 12 Sep 2024 11:37:14 +0200 Oliver Neukum wrote: > > barriers? They make it seem like we're doing something clever > > with memory ordering, while really we're just depending on normal > > properties of the tasklet/timer/work APIs. > > Good question. I added this because they are used in usbnet_defer_kevent() > which can be used in hard irq context. Are you saying I should check > whether this is actually needed? I am slightly bolder, I'm saying that my reading of the code is that it is in fact not needed :) We build our "proof of correctness" on tasklet/timer/work APIs which already provide all necessary barriers. > > FTR disable_work_sync() would work nicely here but it'd be > > a PITA for backports. > > So should I use it? Up to you. It'd avoid work rescheduling but the backport would be a pain, and off top of my head timer doesn't have a disable so we'd still need the flag.