12.10.10, 20:46, "Theo de Raadt" <[email protected]>:

> > On Mon, Oct 11, 2010 at 12:45:39PM +0400, Dmitry-T wrote:
>  > > 11.10.10, 12:13, "Claudio Jeker" :
>  > > 
>  > > >  You try to renice I/O bound
>  > > >  processes. The scheduler priority only matters when processes are CPU
>  > > >  bound.
>  > >   
>  > > Yes of course, but... all my  "dd" processes use CPU. 
>  > > After run "dd if=/dev/urandom of=/dev/null"
>  > > first three "dd if=/dev/wd0c of=/dev/null bs=1m" reduce their part of 
> CPU and 
>  > > run "renice" not recover their part of CPU.
>  >  
>  > CPU consumed by the kernel is not accounted by the scheduler. All the
>  > work done by urandom is system time.
>  
>  Unlike many people who have replied, I think this is a real problem.
>  
>  The problem is that the in-kernel random code violates a promise that
>  process-issued kernel code must make -- kernel code must as be
>  efficient as possible for the operation that it is doing.  In a unix
>  system, we must strive to not add O(expensive) operations directly
>  accessible via simple userland requests.
>  
>  Generally on the drivers since this means that the code is having to
>  wait for an interrupt, or such.
>  
>  Ted just replaced /dev/random with arandom a few days ago, and this is
>  much much more efficient.  It looks like the problem is largely gone.
>  And we get a better random number generator.

Have OpenBSD non-preemptible kernel code?


>  More problems like this will exist, and when found they should be fixed
>  through analysis, not reverse accusations on the mailing lists.

Thank you.


-- 
Dmitry Telegin

Reply via email to