On 20 April 2013 17:30, Jakub Jermar <[email protected]> wrote: > On 04/20/2013 05:23 PM, Jiří Zárevúcky wrote: >> The fact a simple driver exhausts all available memory any time the >> system is not fast enough to process all data the hardware throws at >> it, seems like a pretty serious defect. You can't just say that the >> systems needs to meet hard real-time constraints, regardless how >> lenient they might be, in order not to collapse. That is just not the >> sane way of designing general purpose system. > > This is because there are currently no per-task hardware resource limits > that would prevent one driver from using so much memory that the other > tasks cannot do their own job. As long as physical memory is reservable, > the kernel will satisfy the allocation requests on the "who comes first > wins" basis. Introducing some form of resource caps would cause the > excessive allocations made by one task to fail, giving thus the rest of > the system space to breathe. Until then, we can only tweak the used > algorithms to be more considerate. >
Resource limits would work around the symptoms, but there is absolutely no reason for a human interface driver to buffer every single message from the hardware (even with an extra page of memory), when it's trivial to discover that the speed of processing is not sufficient. -- Jirka Z. _______________________________________________ HelenOS-devel mailing list [email protected] http://lists.modry.cz/cgi-bin/listinfo/helenos-devel
