public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Joel Fernandes <joelagnelf@nvidia.com>
To: linux-kernel@vger.kernel.org, Andrea Righi <arighi@nvidia.com>,
	Tejun Heo <tj@kernel.org>, Ingo Molnar <mingo@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juri Lelli <juri.lelli@redhat.com>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Dietmar Eggemann <dietmar.eggemann@arm.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Ben Segall <bsegall@google.com>, Mel Gorman <mgorman@suse.de>,
	Valentin Schneider <vschneid@redhat.com>
Cc: Luigi De Matteis <ldematteis123@gmail.com>,
	paulmck@kernel.org, boqun.feng@gmail.com,
	David Vernet <void@manifault.com>,
	Joel Fernandes <joelagnelf@nvidia.com>
Subject: [PATCH RFC 4/8] sched/debug: Fix updating of ppos on server write ops
Date: Fri, 14 Mar 2025 22:21:51 -0400	[thread overview]
Message-ID: <20250315022158.2354454-5-joelagnelf@nvidia.com> (raw)
In-Reply-To: <20250315022158.2354454-1-joelagnelf@nvidia.com>

Updating "ppos" on error conditions does not make much sense. The pattern
is to return the error code directly without modifying the position, or
modify the position on success and return the number of bytes written.

Since on success, the return value of apply is 0, there is no point in
modifying ppos either. Fix it by removing all this and just returning
error code or number of bytes written on success.

Reviewed-by: Andrea Righi <arighi@nvidia.com>
Signed-off-by: Joel Fernandes <joelagnelf@nvidia.com>
---
 kernel/sched/debug.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c
index ef047add7f9e..1ccc7687e1a8 100644
--- a/kernel/sched/debug.c
+++ b/kernel/sched/debug.c
@@ -348,8 +348,8 @@ static ssize_t sched_fair_server_write(struct file *filp, const char __user *ubu
 	long cpu = (long) ((struct seq_file *) filp->private_data)->private;
 	struct rq *rq = cpu_rq(cpu);
 	u64 runtime, period;
+	int retval = 0;
 	size_t err;
-	int retval;
 	u64 value;
 
 	err = kstrtoull_from_user(ubuf, cnt, 10, &value);
@@ -385,8 +385,6 @@ static ssize_t sched_fair_server_write(struct file *filp, const char __user *ubu
 		}
 
 		retval = dl_server_apply_params(&rq->fair_server, runtime, period, 0);
-		if (retval)
-			cnt = retval;
 
 		if (!runtime)
 			printk_deferred("Fair server disabled in CPU %d, system may crash due to starvation.\n",
@@ -394,6 +392,9 @@ static ssize_t sched_fair_server_write(struct file *filp, const char __user *ubu
 
 		if (rq->cfs.h_nr_queued)
 			dl_server_start(&rq->fair_server);
+
+		if (retval < 0)
+			return retval;
 	}
 
 	*ppos += cnt;
-- 
2.43.0


  parent reply	other threads:[~2025-03-15  2:22 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-15  2:21 [PATCH RFC 0/8] Add a deadline server for sched_ext tasks Joel Fernandes
2025-03-15  2:21 ` [PATCH RFC 1/8] sched: Add support to pick functions to take rf Joel Fernandes
2025-03-15  2:21 ` [PATCH RFC 2/8] sched: Add a server arg to dl_server_update_idle_time() Joel Fernandes
2025-03-15  2:21 ` [PATCH RFC 3/8] sched/ext: Add a DL server for sched_ext tasks Joel Fernandes
2025-03-15  7:22   ` Peter Zijlstra
2025-03-15 23:15     ` Joel Fernandes
2025-03-17 10:31       ` Peter Zijlstra
2025-03-17 16:57         ` Tejun Heo
2025-03-17 17:06           ` Peter Zijlstra
2025-03-17 21:48             ` Joel Fernandes
2025-03-17 22:16               ` Tejun Heo
2025-03-17 22:39                 ` Joel Fernandes
2025-03-17 22:48                   ` Tejun Heo
2025-03-18 10:07                     ` Joel Fernandes
2025-03-17 21:53         ` Joel Fernandes
2025-03-15 17:56   ` Andrea Righi
2025-03-15 23:17     ` Joel Fernandes
2025-03-15  2:21 ` Joel Fernandes [this message]
2025-03-15  2:21 ` [PATCH RFC 5/8] sched/debug: Stop and start server based on if it was active Joel Fernandes
2025-03-15  2:21 ` [PATCH RFC 6/8] sched/debug: Add support to change sched_ext server params Joel Fernandes
2025-03-15  2:21 ` [PATCH RFC 7/8] sched/deadline: Clear defer params Joel Fernandes
2025-03-15  2:21 ` [PATCH RFC 8/8] selftests/sched_ext: Add test for sched_ext dl_server Joel Fernandes
2025-03-15 23:22   ` Joel Fernandes

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250315022158.2354454-5-joelagnelf@nvidia.com \
    --to=joelagnelf@nvidia.com \
    --cc=arighi@nvidia.com \
    --cc=boqun.feng@gmail.com \
    --cc=bsegall@google.com \
    --cc=dietmar.eggemann@arm.com \
    --cc=juri.lelli@redhat.com \
    --cc=ldematteis123@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mgorman@suse.de \
    --cc=mingo@redhat.com \
    --cc=paulmck@kernel.org \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=tj@kernel.org \
    --cc=vincent.guittot@linaro.org \
    --cc=void@manifault.com \
    --cc=vschneid@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox