Re: -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]

 



On Sat, 31 Oct 2009, Leon Woestenberg wrote:
> 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?

yield() in kernel code is either a bug or useless nonsense.
 
> For most of the yield()s I really could not think why they are there...

Exactly. Most likely some blindly copied old code, which needs to be
fixed. Going through it later today.

Thanks for pointing it out.

       tglx
--
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