Re: copy to suer space

Andreas Dilger (adilger@turbolabs.com)
Tue, 20 Nov 2001 12:39:15 -0700


On Nov 20, 2001 18:44 +0000, Luís Henriques wrote:
> > Maybe if you describe the actual problem that you are trying to solve, and
> > not the actual way you are trying to solve it, there may be a better
> > method. Usually, if something you are trying to do is very hard to do,
> > there is a different (much better) way of doing it.
>
> I'm developping a kernel module that needs to delay a process, that is, he
> receives a PID and, when a specific event occurs, that process shall be
> delayed. This delay shall be done in a way that the process keeps burning CPU
> time (it can not be, e.g., put in a waiting-list...).

Putting it into a waiting-list is by far the best solution. This is a normal
Unix operation, like SIGSTOP, SIGCONT, and could even be done from user space.

What is the requirement that it keeps burning CPU for? Generally, this is
what you do NOT want to do.

Depending on what that is for, you could just increment the "system time"
ticks in the process, which is kind of a hack, but not nearly so ugly as
changing the user-space code (which is truly dreadful, and I don't think
anyone on this list would ever help you do that, even if they could).

The other alternative is to make your module such that upon entry, the
user process simply busy-waits until the delay is complete. This is also
easy to do, with something like udelay().

Cheers, Andreas

--
Andreas Dilger
http://sourceforge.net/projects/ext2resize/
http://www-mddsp.enel.ucalgary.ca/People/adilger/

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