public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Xavier  <xavier_qy@163.com>
To: "Michal Koutný" <mkoutny@suse.com>
Cc: mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com,
	 vincent.guittot@linaro.org, dietmar.eggemann@arm.com,
	 rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de,
	 bristot@redhat.com, vschneid@redhat.com,
	 linux-kernel@vger.kernel.org, tj@kernel.org
Subject: Re:Re: [PATCH-RT sched v1 0/2] Optimize the RT group scheduling
Date: Wed, 31 Jul 2024 11:02:05 +0800 (CST)	[thread overview]
Message-ID: <74ebebc0.2f18.19106bcdacb.Coremail.xavier_qy@163.com> (raw)
In-Reply-To: <acq6wg6r63nhbxsl5xci3gsow2lwmrongn57l5642h4gnreiol@jz6a3jdiviov>

Hi Michal,

Your question is good. however, I currently don't have a stable hardware
environment to execute this test case. Running it on QEMU indeed subjects
it to significant random interference. I attempted to make the test cases run
for longer periods, but I found that the results varied significantly each time.
So the previous test data was obtained by running two QEMU instances
simultaneously, one running the unoptimized kernel and the other running
the optimized kernel, this makes the results more convincing.

Nevertheless, from the code logic, it is evident that the optimizations have
indeed resulted in fewer se insert and delete operations, which theoretically
should improve efficiency.

Thanks.

--
Best Regards,
Xavier




At 2024-07-29 17:32:37, "Michal Koutný" <mkoutny@suse.com> wrote:
>On Fri, Jun 28, 2024 at 01:21:54AM GMT, Xavier <xavier_qy@163.com> wrote:
>> The first patch optimizes the enqueue and dequeue of rt_se, the strategy
>> employs a bottom-up removal approach.
>
>I haven't read the patches, I only have a remark to the numbers.
>
>> The second patch provides validation for the efficiency improvements made
>> by patch 1. The test case count the number of infinite loop executions for
>> all threads.
>> 
>> 		origion          optimized
>> 
>> 	   10242794134		10659512784
>> 	   13650210798		13555924695
>> 	   12953159254		13733609646
>> 	   11888973428		11742656925
>> 	   12791797633		13447598015
>> 	   11451270205		11704847480
>> 	   13335320346		13858155642
>> 	   10682907328		10513565749
>> 	   10173249704		10254224697
>> 	    8309259793		 8893668653
>
>^^^ This is fine, that's what you measured.
>
>> avg      11547894262          11836376429
>
>But providing averages with that many significant digit is nonsensical
>(most of them are noise).
>
>If I put your columns into D (Octave) and estimate some errors:
>
>(std(D)/sqrt(10)) ./ mean(D)
>ans =
>
>   0.046626   0.046755
>
>the error itself would be rounded to ~5%, so the averages measured
>should be rounded accordingly 
>
> avg    11500000000      11800000000
>
>or even more conservatively
>
> avg    12000000000      12000000000
>
>> Run two QEMU emulators simultaneously, one running the original kernel and the
>> other running the optimized kernel, and compare the average of the results over
>> 10 runs. After optimizing, the number of iterations in the infinite loop increased
>> by approximately 2.5%.
>
>Notice that the measure changed is on par with noise in the data (i.e.
>it may be accidental). You may need more iterations to get cleaner
>result (more convincing data).
>
>HTH,
>Michal

      reply	other threads:[~2024-07-31  3:04 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-27 17:21 [PATCH-RT sched v1 0/2] Optimize the RT group scheduling Xavier
2024-06-27 17:21 ` [PATCH-RT sched v1 1/2] RT SCHED: Optimize the enqueue and dequeue operations for rt_se Xavier
2024-06-28 23:29   ` kernel test robot
2024-06-29  0:20   ` kernel test robot
2024-06-27 17:21 ` [PATCH-RT sched v1 2/2] RT test: Adding test cases for RT group scheduling Xavier
2024-06-29 11:28 ` [PATCH-RT sched v2 0/2] Optimize the " Xavier
2024-06-29 11:28   ` [PATCH-RT sched v2 1/2] RT SCHED: Optimize the enqueue and dequeue operations for rt_se Xavier
2024-07-04  8:30     ` kernel test robot
2024-06-29 11:28   ` [PATCH-RT sched v2 2/2] RT test: Adding test cases for RT group scheduling Xavier
2024-07-16  6:05   ` [PATCH-RT sched v3 0/2] Optimize the " Xavier
2024-07-16  6:05     ` [PATCH-RT sched v3 1/2] RT SCHED: Optimize the enqueue and dequeue operations for rt_se Xavier
2024-07-16 20:24       ` kernel test robot
2024-07-17  3:00         ` [PATCH-RT sched v4 0/2] Optimize the RT group scheduling Xavier
2024-07-17  3:00           ` [PATCH-RT sched v4 1/2] RT SCHED: Optimize the enqueue and dequeue operations for rt_se Xavier
2024-07-25  6:21             ` Xavier
2024-08-08 11:22               ` Xavier
2024-07-17  3:00           ` [PATCH-RT sched v4 2/2] RT test: Adding test cases for RT group scheduling Xavier
2024-07-16  6:05     ` [PATCH-RT sched v3 " Xavier
2024-07-29  9:32 ` [PATCH-RT sched v1 0/2] Optimize the " Michal Koutný
2024-07-31  3:02   ` Xavier [this message]

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=74ebebc0.2f18.19106bcdacb.Coremail.xavier_qy@163.com \
    --to=xavier_qy@163.com \
    --cc=bristot@redhat.com \
    --cc=bsegall@google.com \
    --cc=dietmar.eggemann@arm.com \
    --cc=juri.lelli@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mgorman@suse.de \
    --cc=mingo@redhat.com \
    --cc=mkoutny@suse.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=tj@kernel.org \
    --cc=vincent.guittot@linaro.org \
    --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