tech-kern archive

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

Re: MP callouts




On Apr 12, 2008, at 9:57 AM, Andrew Doran wrote:
Hi,

At the moment, callouts only fire on the boot CPU. The below diff allows for
callout processing on all CPUs, and for callouts to be bound to CPUs.

Each CPU has its own lock and call wheel. Non-MPSAFE callouts are always
run on the boot CPU, just in case there is an odd sync issue lurking
somewhere.

        http://www.netbsd.org/~ad/callout.diff

Any comments?

What are the implications of this? Will each CPU have its own timer interrupt
or can the timer interrupt servicing be spread among all the CPUs?

Can we add a void cpu_nextcallout(unsigned int ticks); so that ports that can schedule a variable clock can avoid scheduling clock intrs that won't actually do anything. It would be nice if hardclock could take a 2nd argument which is
the number of [additional] ticks that this invocation encompasses.



Home | Main Index | Thread Index | Old Index