On Fri, May 21, 2021 at 09:39AM +0000, David Laight wrote: > From: Marco Elver > > Sent: 21 May 2021 09:32 > > > > Since wait_event() uses TASK_UNINTERRUPTIBLE by default, waiting for an > > allocation counts towards load. However, for KFENCE, this does not make > > any sense, since there is no busy work we're awaiting. > > > > Instead, use TASK_IDLE via wait_event_idle() to not count towards load. > > Doesn't that let the process be interruptible by a signal. > Which is probably not desirable. > > There really ought to be a way of sleeping with TASK_UNINTERRUPTIBLE > without changing the load-average. That's what TASK_IDLE is: include/linux/sched.h:#define TASK_IDLE (TASK_UNINTERRUPTIBLE | TASK_NOLOAD) See https://lore.kernel.org/lkml/alpine.LFD.2.11.1505112154420.1749@xxxxxxxxxxxxxx/T/ Thanks, -- Marco > IIRC the load-average is really intended to include processes > that are waiting for disk - especially for swap. > > David > > - > Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK > Registration No: 1397386 (Wales)