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

