![]() | |||||||||||||
Messages in this thread |
Sven-Thorsten Dietrich <sdietrich@mvista.com> writes: > +#if defined(CONFIG_SMP) && defined(CONFIG_PREEMPT) > +/* > + * This could be a long-held lock. If another CPU holds it for a long time, > + * and that CPU is not asked to reschedule then *this* CPU will spin on the > + * lock for a long time, even if *this* CPU is asked to reschedule. > + * > + * So what we do here, in the slow (contended) path is to spin on the lock by > + * hand while permitting preemption. > + * > + * Called inside preempt_disable(). > + */ > + > +/* these functions are only called from inside spin_lock > + * and old_write_lock therefore under spinlock substitution > + * they will only be passed old spinlocks or old rwlocks as parameter > + * there are no issues with modified mutex behavior here. */ > + > +#endif /* defined(CONFIG_SMP) && defined(CONFIG_PREEMPT) */ May I inquire as to the purpose of placing a couple of comments under an #ifdef? -- Måns Rullgård mru@mru.ath.cx - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2005-03-22 14:06 [from the cache] ©2003-2008 | |||||||||||||