On Thursday 05 October 2006 05:40, Jonathan Chen wrote: > Hello, > > I'm currently writing kernel code to use MCA (machine check architecture) > in order to detect things like ECC errors. As part of this, I need to run > code on all CPUs periodically to check some status registers. Where is the > best place to do this? It doesn't seem that I can use regular kernel > threads since I can't specify a CPU binding with that interface. I've > thought about hooking a function call to either the beginning of > idle_proc() or somewhere in mi_switch(), but neither solution seems optimal > since there are no guarantees when idle_proc() is ran and mi_switch() seems > like a really bad idea from a performance standpoint. Suggestions? > > Also, are there any locking pitfalls or other issues I should be aware of > when writing code to run in either idle_proc() or mi_switch()? > > -Jon
AFAIK, you can use scheduler API, the sched_bind() moves current thread to a specific CPU, hope this helps. David Xu _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"

