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-next>] [day] [month] [year] [list]
Date:	Sat, 10 Mar 2007 19:35:06 -0600
From:	Matt Mackall <mpm@...enic.com>
To:	Con Kolivas <kernel@...ivas.org>
Cc:	linux-kernel <linux-kernel@...r.kernel.org>, akpm@...l.org
Subject: RSDL-mm 0.28

I've tested -mm2 against -mm2+noyield and -mm2+rsdl+noyield. The
noyield patch simply makes the sched_yield syscall return immediately.
Xorg and all tests are run at nice 0.

Loads:
 memload: constant memcpy of 16MB buffer
 execload: constant re-exec of a trivial shell script
 forkload: constant fork and exit of a trivial shell script
 make -j 5: hot-cache kernel build without ccache
 make -j 5 ccache: hot-cache kernel build with ccache

Tests:
 beryl - 3D window manager, wiggle windows, spin desktop, etc.
 galeon - web browser, rapidly scrolling long web pages by grabbing
    the scroll bar
 mp3 - XMMS on a FUSE sshfs over wireless (during all tests)
 terminal - responsiveness of ssh and local terminal sessions
 mouse - responsiveness of mouse pointer

Results:
 great = completely smooth
 good = fully responsive
 ok = visible latency
 bad = becomes difficult to use (or mp3 skips)
 awful = make it stop, please

          -mm2        -mm2+noyield   rsdl+noyield
no load
 beryl    great       great          great
 galeon   good        good           good
 mp3      good        good           good
 terminal good        good           good
 mouse    good        good           good
memload x10
 beryl    awful/bad   great          good
 galeon   good        good           ok/good
 mp3      good        good           good
 terminal good        good           good
 mouse    good        good           good
execload x10
 beryl    awful/bad   bad/good       good
 galeon   good        bad/good       ok/good
 mp3      good        bad            good
 terminal good        bad/good       good
 mouse    good        bad/good       good
forkload x10
 beryl    good        good           great
 galeon   good        good           ok/good
 mp3      good        good           good
 terminal good        good           ok/good
 mouse    good        good           good
make -j 5
 beryl    ok          good           good/great
 galeon   good        good           ok/good
 mp3      good        good           good
 terminal good        good           good
 mouse    good        good           good
make -j 5 ccache
 beryl    ok          good           awful
 galeon   good        good           bad
 mp3      good        good           bad
 terminal good        good           bad/ok
 mouse    good        good           bad/ok

make -j 5
real      8m1.857s    8m50.659s      8m9.282s
user      7m19.127s   8m3.494s       7m30.740s
sys       0m30.910s   0m33.722s      0m29.542s

make -j 5 ccache
real      2m6.182s    2m19.032s      2m1.832s
user      1m39.466s   1m48.787s      1m37.250s
sys       0m19.741s   0m22.993s      0m20.109s

There's a substantial performance hit for not yield, so we probably
want to investigate alternate semantics for it. It seems reasonable
for apps to say "let me not hog the CPU" without completely expiring
them. Imagine you're in the front of the line (aka queue) and you
spend a moment fumbling for your wallet. The polite thing to do is to
let the next guy in front. But with the current sched_yield, you go
all the way to the back of the line.

RSDL makes most of the noyield hit back in normal make and then some
with ccache. Impressive. But ccache is still destroying interactivity
somehow. The ccache effect is fairly visible even with non-parallel
'make'.

Also note I could occassionally trigger nasty multi-second pauses with
-mm2+noyield under exectest that didn't show up elsewhere. That's
probably a bug in the mainline scheduler.

-- 
Mathematics is the supreme nostalgia of our time.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ