• Nils Goroll's avatar
    buddy: fix buddy_reqs_wait_prio_adjust() · 42481d56
    Nils Goroll authored
    This fixes two bugs:
    
    The most relavant was that we did not increase buddy->wait_pri if the
    new priority was higher, which could lead to all kinds of weird effects,
    for example:
    
    - starvation/lock up
    - LRU removing all of the cache
    
    because there were requests waiting, but buddy_wait_work() did not see
    them.
    
    The second bug is that we also called buddy_wait_work() if there
    actually was no change (the critical region could find state ==
    IW_SIGNALLED).
    
    Also, for the new assertions, we need to set the proper wait_pri for the
    case that the priority is lowered.
    42481d56
Name
Last commit
Last update
LICENSES Loading commit data...
logs Loading commit data...
src Loading commit data...
tools/coccinelle Loading commit data...
.editorconfig Loading commit data...
.gitignore Loading commit data...
BUGS.rst Loading commit data...
CHANGES.rst Loading commit data...
COPYING Loading commit data...
DEVELOPER.rst Loading commit data...
INSTALL.rst Loading commit data...
Makefile.am Loading commit data...
README.rst Loading commit data...
bootstrap Loading commit data...
configure.ac Loading commit data...