Re: Extreme system overhead on large IP27

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Oct 26, 2006 at 01:05:52PM +0900, Atsushi Nemoto wrote:

> I think I found the problem at last.

I'm afraid there is more than one problem.

On the 34K core each VPE has its own c0_count and c0_compare registers.
However the reset values are undefined.  Which means the time offset
calculated by

    offset = (clocksource_read(clock) - clock->cycle_last) & clock->mask;

may differ wildly between processors resulting in a time jitter of upto
almost 215s between both VPEs.  Unfortunately there is an unavoidable
race condition when attempting to synchronize the two counters.  But
the 34K's nature shrinks the time window to somwhere in the single digit
range of cycles so on a hardcore that would be a handfull of nanoseconds.

Anything that is less than the shortest time for a process to migrate
from one processor (VPE in case of 34K) to another is good enough as it
will guarantee that time cannot jump backward - but the jitter may still
be a a slight problem for the most demanding programs.

Others like RM9000x2 may have similar issues if the counter registers
don't come out of reset synchronized; need to look into that.

  Ralf


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux