Re: Possible bug report: kernel 6.5.0/6.5.1 high load when CIFS share is mounted (cifsd-cfid-laundromat in"D" state)

From: Dr. Bernd Feige
Date: Thu Oct 05 2023 - 12:07:40 EST


Am Dienstag, dem 26.09.2023 um 17:54 -0700 schrieb Paul Aurich:
> Perhaps the laundromat thread should be using msleep_interruptible()?
>
> Using an interruptible sleep appears to prevent the thread from
> contributing
> to the load average, and has the happy side-effect of removing the
> up-to-1s delay
> when tearing down the tcon (since a7c01fa93ae, kthread_stop() will
> return
> early triggered by kthread_stop).

Sorry for chiming in so late - I'm also on gentoo (kernel 6.5.5-
gentoo), but as a client of Windows AD.

Just want to emphasize that using uninterruptible sleep has not just
unhappy but devastating side-effects.

I have 8 processors and 16 cifsd-cfid-laundromat processes, so
/proc/loadavg reports a load average of 16 on a totally idle system.

This means that load-balancing software will never start additional
tasks on this system - "make -l" but also any other load-dependent
system. Just reducing the number of cifsd-cfid-laundromat processes
does not fix this - even a single one makes loadavg report a wrong
result for load balancing.

So, if cifsd-cfid-laundromat must really be uninterruptible, the only
solution would be to change the way loadavg is computed by the kernel
to exclude uninterruptible but sleeping processes. But must it be
uninterruptible?

Thanks and best regards,
Bernd