lkml.org 
[lkml]   [2003]   [Mar]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] small fixes in brlock.h
From
Date
On Sun, 2003-03-09 at 19:03, Zwane Mwaikambo wrote:

> > cpu = smp_processor_id();
> > /* do not want to preempt here, but we can! */
> > preempt_disable();
> > _raw_read_lock(&__brlock_array[cpu][idx]);
>
> How are we able to preempt there? Timer tick?

Yep. Any interrupt, actually.

Or the reschedule IPI on SMP systems.

Kernel preemption off an interrupt is actually the most common (and the
ideal) place to preempt since an interrupt is usually what wakes up a
task off I/O and sets need_resched. So kernel preemption lets us
reschedule the higher priority task the moment the interrupt wakes it
up. Of course, if a lock is held, we have to wait till we drop it.

Robert Love

-
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 13:33    [W:0.047 / U:0.424 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site