Hi, I am profiling some workloads for the voluntary and involuntary context switches. I am interested in finding out the reasons causing these two types of context switches. As far as I understand, involuntary context switch happens on expiration of time slice or when a higher priority process comes in. While the voluntary switch generally happens when a process is waiting for I/O etc.
So to find out what system calls are causing voluntary context switches in my workloads, I printed whenever a system calls is invoked and whenever a context switch happens. I am profiling the system calls and context switched inside critical sections (while some lock is being held). But I see something unexpected. I see * Voluntary context switches occur almost every time due to doorfs() system call. They do occur for a few times due to lwp_park() and very few times due to yield(). * Involuntary happens anytime. (lwp_park(), read(), fstat(), putmsg(), gtime() and sometime without any system call!!) Does anyone have any idea, what could be the reason for this unexpected behavior? Thanks, Neelam -- This message posted from opensolaris.org _______________________________________________ dtrace-discuss mailing list [email protected]
