[lkml]   [2000]   [Oct]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: Question about uninterruptible system call?

Randolph Bentson wrote:

> On Mon, Oct 23, 2000 at 02:51:46PM +0200, Marco wrote:
> > Hi,
> > can someone briefly explain me how the kernel code prevent the
> > preemption of process executing a system call ? I read several technical
> > papers but I haven't found (or perhaps don't understood) a response
> > there. Many thanks in advance
> Although interrupts can occur while a process is executing a system call,
> the effect of that interrupt is deferred. The interrupt handler does
> what it must and the rest is done when the interrupted system call is
> about to return to a user process.
> --
> Randolph Bentson

OK but I haven't understood this:
The ret_from_sys_call is called also at the end of a slow interrupt, and the
timer handler is a slow interrupt.
So if the timer interrupt interrupts a process during a system call it marks
its bottom half and if no other interrupt was active the slow interrupt calls
ret_from_system_call. At this time the timer bottom half are executed, and if
updating the current process do need_resched = 1 what prevent the process to
be rescheduled some istruction below ?

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 12:41    [W:0.042 / U:0.204 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site