-rt kernel hitting yield()s in I2C non-default code paths (2.6.24)

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

 



Hello,


yesterday while debugging embedded systems I noticed the non-happy
paths in the I2C code hitting yield() code, this resulted in
a BUG: RT-Task yielding. This was with 2.6.24 (yes I know).

A real-time task (prio 99, low real-time priority) on the generic
workqueue was executing I2C functions, such as try_address() and
hitting the yield().

http://lxr.linux.no/#linux+v2.6.31/drivers/i2c/algos/i2c-algo-bit.c#L319

Further grepping shows yield()s sprinkled throughout device driver
code, especially in the non-default execution paths.

What's the -rt devs opinion on this one?

For most of the yield()s I really could not think why they are there...

Regards,
-- 
Leon
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux