lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20140525151731.GA3857@local.marc.ngoe.de>
Date:	Sun, 25 May 2014 17:17:31 +0200
From:	Marc Burkhardt <marc@...nowledge.org>
To:	linux-kernel@...r.kernel.org
Subject: Question on migration CPU0->CPUN while being 100% busy

Hi all,

I just noticed that when compiling 'mpv' on an i7 machine a process is migrated
to another cpu occasionally.

While the workload was busy on 100% CPU0 like this

root@...c:~ # pstree -p 32000
ebuild.sh(32000)───ebuild.sh(32017)───waf(32030)─┬─i686-pc-linux-g(869)───i686-pc-linux-g(876)─┬─as(878)
                                                 │                                             └─cc1(877)
                                                 ├─{waf}(32031)
                                                 ├─{waf}(32032)
                                                 ├─{waf}(32033)
                                                 └─{waf}(32034)

it switched over to 100% CPU2 with this exact same workload:

root@...c:~ # pstree -p 32000
ebuild.sh(32000)───ebuild.sh(32017)───waf(32030)─┬─i686-pc-linux-g(869)───i686-pc-linux-g(876)─┬─as(878)
                                                 │                                             └─cc1(877)
                                                 ├─{waf}(32031)
                                                 ├─{waf}(32032)
                                                 ├─{waf}(32033)
                                                 └─{waf}(32034)

gcc runs -flto=4 BTW and PID 877 is the process migrated between CPUs.

To me it makes no sense to migrate an already running process to another CPU -
besides a thermal throttling on happening on CPU0/1 -> CPU2/3 - but I mean to
have seen them migrate between the 0<->1 and 2<->3 as well.

Could anyone of you make it clear why a process is migrated to another CPU
while being run at 100% CPU load? I'm using 3.10.40 vanilla with the attached
.config. I run my setup 32bit on this 64bit machine.

I will provide any further information as requested.

Please CC:.

Thanks,
Marc

-- 
Marc Burkhardt

View attachment "config-3.10.40-desper" of type "text/plain" (83711 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ