[prev in list] [next in list] [prev in thread] [next in thread]
List: opensolaris-desktop-discuss
Subject: [desktop-discuss] Solaris Desktop Summit
From: John.Rice () Sun ! COM (John Rice)
Date: 2005-12-19 4:00:08
Message-ID: 43A6A074.7070909 () sun ! com
[Download RAW message or body]
Hi - as Glynn has already mentioned on the alias and in his blogs we
held a Solaris Desktop Summit on Usability and Performance at the end of
Nov / start of December. The idea was to get folks internally from
across the various Solaris teams to get together to talk and hack on
these issues. A lot of the Gnome performance issues we looked at came
out of the Gnome Boston summit earlier this year.
Think overall, apart from me gettting massively stressed out on
occasions, it was a real success and folks want to continue the work we
started at the summit. So I'd like to see this done in the community not
just within Sun and having checked with the various folks they all seem
cool about it, so here we are.
Hopefully over the next few months we can get others to scratch their
brains on some of the Usability and Performance things we're looking
into. I intend to post all the findings, dtrace scripts and so on up on
this list for others to share and use as they wish.
To kick off, here is a wrap up of the Performance portion of the hacking
that was done. I have to stress these where experiments and not all
might pan out, but should get people thinking :) This is from an
internal twiki and there are a few internal refs I or Glynn can get
these other bits out in the next few days if folks are interested.
JR
Performance Hackfest Wrap Up
Here is a wrap up of the Performance Summit highlights, actions and
musings.
Hacking Results
Firefox
* Lazy load patch to reduce needless dependency checking in some
core libs.
* Reduction in file reads on startup, one read of 25 Meg file
removed, 1 sec saving in startup.
o A: (Brian L) will continue this investigation.
* Using pagein to preload Firefox libraries reduced startup on cold
boot from 9sec to 2 sec.
o A: (JR/ JD/ BL/ SMF team) Compare pagein to Bart's & Alos's
fflush approach - hook into GDM init, see if enabling this
could be part of SMF workstation profile.
* Firefox startup benchmark created
o A: (JR/ SM)add to PIT teams Gnome Perf tests.
* Creation of benchmark showed high res timer drifting badly when
powernow CPU stepper was enabled from frkit. Resolved by using
walltimestamp in dtrace scripts. Bug sumitted (#6361567) - will
require proper kernel support for this type of CPU stepper, to
avoid these inaccurate timing issues.
Java Apps
* Page Fault memory analysis tool created, using a combination of
Charlie's dtrace scripts and a Java app written by Ken and Brent
(should be able to do something similar with Chime, dtrace UI tool
to help visualize aggregations):
o Page Fault Tool
<http://j2se.sfbay.sun.com/web/bin/view/Performance/PageFaults>
o A: tool will be used to better understand how to optimise
layout of meta index archive and speedup startup.
* Gtk L&F fidelity - 20 issues uncovered, 4 fixed already.
o A: Chris will continue to work through them and will update
the twiki with a report on the issues/ screen shots.
o Update 12/13/2005: Chris added new wiki page
<http://j2se.sfbay.sun.com/web/bin/view/Swing/GTKNativeFidelityIssues>
(with screenshots) to track all recently found fidelity
issues. Bugs will be filed shortly and will be linked off
that page.
* Switching Mustang Java app to Gnome L&F is pulling in another 57
Meg/ 25 more libs.
o A: Dmitri will continue to investigate,
* Redundent Polling going on in Musatng, 20 times /sec, should be
reduced.
* Changing caching of translucent pixmaps to opaque ones leads to 5%
improvement. Further Gtk improvements in removing redundent value
lookups, will save 2% on the swing mark tests.
* Bugs filed as result of investigations:
o 6360563: Shared .so libraries, try using -zdefs on all
.so's, -zignore, and -zcombreloc
o 6361709: gtk2_init_painting is leaking GdkGCs
o 6361715: Reduce polling of JVM due to jvmstat
o 6361719: Many warnings when building the new gtk L&F native
code (gtk2_interface.c, etc) on solaris platforms
o 6361732: Significant footprint increase with the new GTK L&F
in mustang (solaris-sparc)
o 6361745: Mustang: Improve the image caching mechanism used
by GTK L&F
Gnome Terminal
* Optimsation of redraw code (needless GC creation/destruction),
reduction of 20%, saving a few miliseconds per redraw. Used
xrefresh to provide repeatable benchmark.
o A: (SB) submit patch.
* Xft code needs optimised, perhaps allow Pixmap reuse.
o A: further investigation required
Boot Time
* Services - just disabling services not required for workstation
little effect but get 2% login time reduction if the disabled
services are removed from the dependency graph.
o A: (SMF) Workstation profile to adjust the services and
dependencies appropriately.
* Login screen - looks like it will be possible to get the login
screen to appear much sooner in boot process, give user impression
of faster boot. Initial hacking with dtlogin, got the login screen
appearing 15-30 sec faster on a 60-80 sec boot sequence (numbers
very rough here, needs more testing, but looks promising).
o A: Sanjay, Tony and SMF team to investigate and see how to
make this happen by adjusting service dependencies and
providing a workstation profile.
GDM
* Socket reuse - GDM was creating and tearing down the sockets
connection used to communicate from the slave to the daemon. We
modified the code so that the sockets connection is reused and
this reduced a lot of time in the login startup (~ 2-3 sec).
* login program stats() the directories in /usr/share/locale to see
what locale's are on the system to display in the "Lanugages" menu
dialog. Just reading the directory would be faster.
* Flag added to XSun by Alan C (#6361567), -norestart, will allow 5
second sleep to be removed.
* Using Bart's fflush tool to preload the cache at GDM init got a
20% Gnome login time reduction from 20 to 16 sec.
o A: see how we can incorporate these changes into JDS for
workstation users (should not be enabled in Sun Ray
environment).
Media Lib
* Brian and James working on this got it enabled for nevada b27a.
Gtk perf benchmark, without Media lib 175 sec, with 140 sec. 20%
improvement.
Nautilus
* Studio 11 Analyzer used to look at Open Location of /usr/bin (1100
files) in Nautilus on cold start. Taking 8 sec, of which 6 are in
read's. Lots of repetition going on here.
* Nautilus making lots of redundent gconf calls, seems to be making
10 calls on Open Location and 28 calls on refresh. These should be
cached.
o A: (JR) investigate further.
GTK
* sumup for this topic
<http://reserv.ireland.sun.com/twiki/bin/view/JDS/GtkBreakoutWrapUp>
* Theme - Dtrace showed lots of inefficiencies in current Blueprint
theme and how it is accessing pixmaps. Also showed issues in
underlying theme engine as well, with repeated redundent directory
access.
o A: (EC) create a new theme for the new branding changes that
avoids these performance issues.
* Tooling to gather gtk profile during typical user session.
Canary
* A: (SM) Extend Gnome Perf to include X protocol profile using
XServer dtrace probes, use Canary to capture bandwidth measurements.
* A: (JR) Benchmark & profile memory usage in Gtk.
* A: (SM) Rework Xperfmarks for Gnome. Include weighting based on
the User profiles, developer and smb sys admin.
Panel Applets
* Investigation of what they where doing on idle desktop. Showed
Sticky Notes, Stock Ticker and Mixer all doing lots of redundent
polling.
o A: (GF) Create a patch and fix the applets.
Sun Ray
* DDX being more aggresive (with 0 length polls) than it needed to
be in hotdesking.
* XScreensaver doing 0 length polls, need to see why.
* New branded Nevada login greeter on tests showed a 10x improvement
in bandwidth usage from the previous one.
* Benchmark with XServer with/ without Render (very early code),
seemed to be seeing bandwidth increase with Render.
* Discussion on how to expose the DDX bandwidth info to other
applications including the XServer. Could have Gnome apps respond
to change in bandwidth by responding to changes in the gconf
reduced settings key. Adjust theme, fonts and application behaviour.
* Look at adding additional probes for generic calls to the DDX, in
addition to SR specific DDX things.
* Flash animation. Biggest bandwidth hog - Sean got the Flash
blocker applet and tested on SR. Successfully blocks automatic
playong of Flash on web pages [can still play them, but now they
appear as a play button and user must press on it to run it]. Will
reduce needless Flash animation.
* XMag - Alan C found a bug (#6361567) in Xmag causing it to hog the
cpu when it's drawing the selection rectangle and will flood the
Xserver with requests. ALan C has a patch.
* Talking to Java 2D team to look at how to optimise Pixmap
operations on SR, using JRE double buffering support.
* Discussion of supporting AA Fonts directly on the DTU, by doing
the alpha blending on the DTU for fonts. Similar issues if we want
to support new XCursor extension, need for alpha blending on the
DTU. Less important than AA Fonts.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.opensolaris.org/pipermail/desktop-discuss/attachments/20051219/beb65bfb/attachment.html
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic