[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