Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d66f8277 authored by Patrick Caulfield's avatar Patrick Caulfield Committed by Steven Whitehouse
Browse files

[DLM] Make dlm_sendd cond_resched more



Under high recovery loads dlm_sendd can monopolise the CPU and cause soft lockups.

This one extra and one moved cond_resched() make it yield a little more during
such times keeping work moving.

Signed-Off-By: default avatarPatrick Caulfield <pcaulfie@redhat.com>
Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
parent 49e61f2e
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -1264,14 +1264,15 @@ static void send_to_sock(struct connection *con)
		if (len) {
			ret = sendpage(con->sock, e->page, offset, len,
				       msg_flags);
			if (ret == -EAGAIN || ret == 0)
			if (ret == -EAGAIN || ret == 0) {
				cond_resched();
				goto out;
			}
			if (ret <= 0)
				goto send_error;
		} else {
		}
			/* Don't starve people filling buffers */
			cond_resched();
		}

		spin_lock(&con->writequeue_lock);
		e->offset += ret;