Re: [MIPS] SMTC: smtc_timer_broadcast ignores its arguments, make it void.

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

 



Kevin,

On Fri, Jul 27, 2007 at 09:47:47PM +0200, Kevin D. Kissell wrote:

> The argument to smtc_timer_broadcast() is supposed to be a VPE number.
> Somewhere between the earliest prototypes and the current linux-mips.org
> tree, it got hacked up to ignore the argument and broadcast to all TCs.
> There are still configurations out there, some of which I've worked on 
> pretty recently, where the platform code can be configured to either
> do global or VPE-local broadcasting of timer interrupts.  While we have
> determined that it's pretty important to ensure that, in an SMTC configuration,
> having the Count registers of all VPEs in sync is important to avoid timing
> glitches, skewing the starting Compare values should help even out the load
> and reduce contention for the locks on the scheduler queues. Getting rid
> of the argument to smtc_timer_broadcast() makes that impossible.  I'd 
> rather see the platform timer code iterate through the configured VPEs 
> and keep the argument.
> 
> The most recent smtc_timer_broadcast() I've worked on looks like:
> 
> void smtc_timer_broadcast(int vpe)
> {
>         int cpu;
>         int myTC = cpu_data[smp_processor_id()].tc_id;
> 
>         smtc_cpu_stats[smp_processor_id()].timerints++;
> 
>         for_each_online_cpu(cpu) {
>                 if (cpu_data[cpu].vpe_id == vpe &&
>                     cpu_data[cpu].tc_id != myTC)
>                         smtc_send_ipi(cpu, SMTC_CLOCK_TICK, 0);
>         }
> }

I don't mind adding the deleted bits back.

Take the fact that this happened as a life demonstration for unused stuff
of any kind being under is under permanent threat of deletion by some
maintainer, kernel janitor or whoever else in Linux ;-)

  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