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

Reply via email to