sched,drbd: Convert to sched_set_fifo*()

Because SCHED_FIFO is a broken scheduler model (see previous patches)
take away the priority field, the kernel can't possibly make an
informed decision.

In this case, use fifo_low, because it only cares about being above
SCHED_NORMAL. Effectively changes prio from 2 to 1.

Cc: axboe@kernel.dk
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
Peter Zijlstra 2020-04-21 12:09:13 +02:00
parent 4ca6c1a060
commit c9ec052470

View File

@ -6019,9 +6019,8 @@ int drbd_ack_receiver(struct drbd_thread *thi)
unsigned int header_size = drbd_header_size(connection); unsigned int header_size = drbd_header_size(connection);
int expect = header_size; int expect = header_size;
bool ping_timeout_active = false; bool ping_timeout_active = false;
struct sched_param param = { .sched_priority = 2 };
rv = sched_setscheduler(current, SCHED_RR, &param); rv = sched_set_fifo_low(current);
if (rv < 0) if (rv < 0)
drbd_err(connection, "drbd_ack_receiver: ERROR set priority, ret=%d\n", rv); drbd_err(connection, "drbd_ack_receiver: ERROR set priority, ret=%d\n", rv);