Hi, everyone, A long time ago I posted a plea for help to DTrace-enabled hackers [1], to help us view when apps wait on IPC during login. Apps send requests over D-Bus and wait for replies, daemons wake up and respond, GConf does IPC, etc. Michal Pryc at Sun was very kind to start extracting this data, which I had forgotten to send to the list. The results are very interesting, in particular the stack traces of just where apps wait and wake up for IPC. You can see Michal's work in the attached mail. I'm not really sure what the next task is; perhaps we can extract the same data for the new GNOME 2.20, and see where we can avoid doing IPC during login. [1] http://www.gnome.org/~federico/news-2007-04.html#dtrace-help-for-ipc Federico
--- Begin Message ---
- From: Michal Pryc <Michal Pryc Sun COM>
- To: federico novell com
- Cc: Alberto Ruiz - Sun Microsystems - Dublin Ireland <Alberto Ruiz Sun COM>
- Subject: RE: Call for help from OpenSolaris hackers
- Date: Fri, 06 Jul 2007 13:35:11 +0100
Hello Federico,A friend of mine Alberto Ruiz pointed me to your " *Call for help from OpenSolaris hackers* <http://primates.ximian.com/%7Efederico/news-2007-04.html#dtrace-help-for-ipc>", on the page:http://primates.ximian.com/~federico/news-2007-04.html#dtrace-help-for-ipc So I have written few dtrace scripts and collected some data.Please tell me if this is what you wanted. I know that this is only the start, and later we will need to focus on more detailed information. But I also have to know which exactly processes are the most important for you.All of the system calls that you have asked were measured, except select(). There is no such provider for this system call in opensolaris. I could install branded zone and trace this call inside the lx zone, but this would take MUCH more time.All the data is sorted, so the functions/stack traces that are probably the most interesting for us (the most calls or time spend in this function) are at the bottom of the files.Explanation of the collected data, that are attached: 1. There are 3 files: syscalls_function.d_SYSTEMCALL_gnome_startup_second_login where SYSTEMCALL is the call that was traced.Basically this is the trace from pressing enter to the end of login. This trace was done after logout, so the session was started already before, which contains four rows:CMD - actual command calling the specific system call SYSCALL - system callTOTAL TIME - the total time (ns), that the CMD spend in the system call (between entry and return)COUNT - the total number of calls by the CMD 2. There are 3 files: syscalls_function_ustack.d__SYSTEMCALL__gnome_startup_second_loginThis is the user stack trace for each system call. This is an aggregation, so it means that under each stack there is number. This number represents the total number of the same stack traces.3. There is one additional file: syscalls.d_gnome_startup_second_loginWhich contains the time and the number of all system calls for the login.I am going to 2 weeks holidays starting from this Monday, but if you will have any questions I am normally on the #gnome-hackers nick: migiPlease let me know if this is what you wanted and/or if you need those dtrace scripts :) :) :)-- best Michal Pryc http://blogs.sun.com/migiAttachment: data_gnome_startup.tar.gz
Description: GNU Zip compressed data
--- End Message ---