|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Question about high CPU load during iperf ethernet testing
Hi, Ian!
On Tue, Sep 23, 2014 at 7:48 PM, Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote:
> On Mon, 2014-09-22 at 16:01 +0300, Iurii Konovalenko wrote:
>
>>
>> I decided to debug a bit, so I used "({register uint64_t _r; asm
>> volatile("mrrc " "p15, 0, %0, %H0, c14" ";" : "=r" (_r)); _r; })"
>> command to read timer counter before and after operations I want to
>> test.
>
> I think that is CNTPCT aka the physical timer. This is trapped under
> Xen. If you want an untrapped source of time you should use CNTVCT which
> is p15,0,c14.
>
> I expect the results are unreliable due to this.
Thanks a lot for advice.
Arm docs say CNTPCT is p15,0,c14, CNTVCT is p15,1,c14. Now I tried both,
but results are almost equal.
> Also watch out that the granularity of those two timers is usually far
> below the CPU clock frequency, so one tick of them can potentially
> represent quite a few clock cycles/instructions IIRC.
I do not need to get very accurate value, just to understand place,
where time is spent.
These part of code is called many-many times, I accumulate all single
times, so approximately it seams good for me.
I made some experiments, like:
- evaluated time of whole ethernet poll function
- broke this function into several parts and measured time of that
parts, then summed.
Values were almost the same value, so I decided, that in such way I
can understand which part spends more time, and which spends less.
Please, could you advice method to accurate measure time in Xen?
> Ian.
>
Best regards.
Iurii Konovalenko | Senior Software Engineer
GlobalLogic
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |