Updated switch/glue patch?

Adrian Chadd adrian at freebsd.org
Sun Dec 18 06:19:25 UTC 2011


.. also, keep in mind these configs don't currently have preemption
enabled. I think that means that during DELAY(), the kernel thread
doing our bitbanging is going to be spinning and not be preempted by
any other process that may wish to be scheduled.

Using up CPU in a busyloop is fine here (well it isn't, as it's power
wasting, but that aside) but the fact that the CPU is not able to do
any other real work in the meantime is annoying.

Anyway, I'm fiddling with extending iicbb to have configurable
bitbanging and ACK delays. The other thing you could try is to change
the DELAY(10) in iicbb_ack to DELAY(1) and only increment k by one at
a time.

It would be nice if time-keeping was active at boot probe/attach time,
so we could just use pause() and hope that is enough. But yes,
time-keeping doesn't seem to be active that early.


Adrian


More information about the freebsd-embedded mailing list