Li, Aubrey wrote: > Hi Rafael, > > Rafael.Vanoni wrote: > >> Here's a patch to identify the function causing a xcall. Here's an >> example output of the change this introduces: >> >> from >> >> sched : <cross calls> >> >> to >> >> sched : <cross call> unix`dtrace_xcall_func >> >> >> I'm not sure whether this should be the default option or only for >> -v. So please let me know what you think. >> >> Thanks, >> Rafael > > I saw this patch in the powertop repo. > Previously, the cross call number on my idle system is: ============= > Wakeups-from-idle per second: 1621.6 interval: 5.0s > Top causes for wakeups: > 76.1% (1234.3) sched :<cross calls> > > --------snip-------- > 0.9% ( 14.0) dtrace :<cross calls> > ============ > > with this patch, the number decreased too much, see below: > ============== Wakeups-from-idle per second: 1592.7 interval: 5.0s > Top causes for wakeups: > 11.2% (178.8) sched :<cross call> > unix`dtrace_xcall_func > ----snip---- > 1.0% ( 16.0) dtrace :<cross call> unix`dtrace_xcall_func > ============== > > I believe the actual cross call shouldn't vary too much in idle. > Any thoughts? > hmm..., on x86, the patch missed xc_capture_cpus() function. on sparc, it missed too much. It looks like "sysinfo:::xcalls" is far more than "fbt::xc_common:entry".
If we want to implement 6781149, we probably need to improve the probe. Thanks, -Aubrey
