buddy: fix buddy_reqs_wait_prio_adjust()
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.
Showing
Please register or sign in to comment