Re: 5.7-rc0: kswapd eats cpu during a disk test?!

From: Pavel Machek
Date: Fri Jun 12 2020 - 18:45:41 EST


Hi!

> +CC linux-mm
>
> On 5/31/20 12:34 PM, Pavel Machek wrote:
> > Hi!
> >
> > This is simple cat /dev/sda > /dev/zero... on thinkpad x60 (x86-32),
> > with spinning rust.
> >
> > PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
> > 1000 root 20 0 0 0 0 R 53.3 0.0 57:34.93 kswapd0
> > 27897 root 20 0 6976 580 536 R 44.5 0.0 1:44.53 cat
> >
> > It keeps both CPUs busy... and I don't think that's right.
>
> Does an older kernel behave differently here?

Let me try on x220 (x86-64, first):

737 root 20 0 5404 744 680 R 31.2 0.0 0:09.98 cat
1024 root 20 0 0 0 0 S 21.4 0.0 165:22.68 kswapd0

That was with ssd, result with spinning rust is similar:

859 root 20 0 5404 740 672 D 21.1 0.0 0:03.33 cat
1024 root 20 0 0 0 0 R 11.8 0.0 165:33.07 kswapd0

5.7-rc1+ kernel.

Performance of spinning rust is down, too, on x60:

pavel@amd:~/misc/hw/hdd1t$ sudo ddrescue --force /dev/sda1 /dev/null
GNU ddrescue 1.19
Press Ctrl-C to interrupt
rescued: 2147 MB, errsize: 0 B, current rate: 3080 kB/s
ipos: 2147 MB, errors: 0, average rate: 5382 kB/s
opos: 2147 MB, run time: 6.65 m, successful read:
0 s ago
Finished
pavel@amd:~/misc/hw/hdd1t$ uname -a
Linux amd 5.7.0-next-20200611+ #123 SMP PREEMPT Thu Jun 11
15:41:22 CEST 2020 i686 GNU/Linux

And there's something clearly wrong here:

966 root 20 0 0 0 0 R 94.4 0.0 8:18.82 kswapd0
23933 root 20 0 4612 1112 1028 D 80.6 0.0 0:26.40 ddrescue


--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

Attachment: signature.asc
Description: Digital signature