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>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110421061643.GA31388@elte.hu>
Date:	Thu, 21 Apr 2011 08:16:43 +0200
From:	Ingo Molnar <mingo@...e.hu>
To:	Nikhil Rao <ncrao@...gle.com>
Cc:	Peter Zijlstra <peterz@...radead.org>,
	Paul Turner <pjt@...gle.com>, Mike Galbraith <efault@....de>,
	linux-kernel@...r.kernel.org
Subject: Re: [RFC][PATCH 00/18] Increase resolution of load weights


* Nikhil Rao <ncrao@...gle.com> wrote:

> Major TODOs:
> - Detect overflow in update shares calculations (time * load), and set load_avg
>   to maximum possible value (~0ULL).
> - tg->task_weight uses an atomic which needs to be updates to 64-bit on 32-bit
>   machines. Might need to add a lock to protect this instead of atomic ops.
> - Check wake-affine math and effective load calculations for overflows.
> - Needs more testing and need to ensure fairness/balancing is not broken.

Please measure micro-costs accurately as well, via perf stat --repeat 10 or so.

For example, on a testsystem doing 200k pipe triggered context switches (100k 
pipe ping-pongs) costs this much:

 $ taskset 1 perf stat --repeat 10 ./pipe-test-100k

        630.908390 task-clock-msecs         #      0.434 CPUs    ( +-   0.499% )
           200,001 context-switches         #      0.317 M/sec   ( +-   0.000% )
                 0 CPU-migrations           #      0.000 M/sec   ( +-  66.667% )
               145 page-faults              #      0.000 M/sec   ( +-   0.253% )
     1,374,978,900 cycles                   #   2179.364 M/sec   ( +-   0.516% )
     1,373,646,429 instructions             #      0.999 IPC     ( +-   0.134% )
       264,223,224 branches                 #    418.798 M/sec   ( +-   0.134% )
        16,613,988 branch-misses            #      6.288 %       ( +-   0.755% )
           204,162 cache-references         #      0.324 M/sec   ( +-  18.805% )
             5,152 cache-misses             #      0.008 M/sec   ( +-  21.280% )

We want to know the delta in the 'instructions' value resulting from the patch 
(this can be measured very accurately) and we also want to see the 'cycles' 
effect - both can be measured pretty accurately.

I've attached the testcase - you might need to increase the --repeat value so 
that noise drops below the level of the effect from these patches. (the effect 
is likely in the 0.01% range)

It would also be nice to see how 'size vmlinux' changes with these patches 
applied, on a 'make defconfig' build.

Thanks,

	Ingo

View attachment "pipe-test-100k.c" of type "text/plain" (538 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ