I am new a newbie and understood the ptrace relationship between User
space Thread and Kernel space thread.
But I am yet to deal with 'ubd driver asynchronous I/O thread' and 'Write
SIGIO emulation thread'. Can anyone explain in brief their functions and
operations. Does the concept of ptracing come here also? How are user
space thread's read/write are handled?
From: Jeff Dike <jdike@ad...> - 2003-09-12 18:08:45
> But I am yet to deal with 'ubd driver asynchronous I/O thread' and
> 'Write SIGIO emulation thread'.
The first is the standard technique of simulating async IO when the kernel
doesn't support it. You start a new thread for each outstanding IO request
you want, and each handles a request synchronously, notifying you asynchronously
when it is done.
The SIGIO emulation thread is basically the same thing. Some devices don't
deliver SIGIO when we think they ought to, so that thread waits for IO
synchronously, and notifies UML asynchronously when it comes in. In this
particular case, the problem is with SIGIO when output is possible, not when
input is available. So the thread waits for poll to tell it that the
descriptor is accepting output again.
> Does the concept of ptracing come here