On Tue, Jul 17, 2012 at 1:20 AM, Victor Rodriguez <vm.rod25@xxxxxxxxx> wrote: > > Hi Manavendra > > Have you think in a driver that you can call when the context switch > happen? If this can be detected (more investigation on this area is > required). If that is possible we can create the driver to measure the > time according to the interruption. > > Thanks a lot and regards > > Victor Rodriguez > > > > On Mon, Jul 16, 2012 at 2:28 PM, Manavendra Nath Manav > <mnm.kernel@xxxxxxxxx> wrote: > > How to measure time spent in context switch in Linux i.e. the time the > > application stays suspended while the kernel is doing something else. I > > don't want to use any profiling tools. What approach should I take to write > > my own C code, which can also run as kernel module if required, to measure > > time spent accurately. Will it also require to modify the scheduler code? > > Does /proc gives any statistics in this regard? > > > > Ref: > > http://stackoverflow.com/questions/2368384/write-a-c-program-to-measure-time-spent-in-context-switch-in-linux-os > > > > -- > > Manavendra Nath Manav > > _______________________________________________ Hi Victor I was thinking something in these terms: 1) Process is executing a non-critical section like a bottom-half. 2) At Nth line of code, I will measure the timestamp. 3) At (N+1)th line of code, I will voluntarily call schedule() to do context switch. 4) At (N+2)th, I will measure the timestamp, and calculate the time difference. Although the above procedure will measure context switch time statically and not dynamically, it can give a fair idea but for multi-core processors this measurement will heavily deviate from accuracy. If we can set scheduler() process affinity to one single core, will it affect the measurements and predictability of context switches? -- Manavendra Nath Manav _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies