All of lore.kernel.org
 help / color / mirror / Atom feed
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Jassi Brar <jassisinghbrar@gmail.com>
Cc: Sudeep Holla <sudeep.holla@arm.com>,
	Rob Herring <robh@kernel.org>, Arnd Bergmann <arnd@arndb.de>,
	Frank Rowand <frowand.list@gmail.com>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	Devicetree List <devicetree@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [RFC] dt-bindings: mailbox: add doorbell support to ARM MHU
Date: Fri, 12 Jun 2020 10:58:53 +0530	[thread overview]
Message-ID: <20200612052853.nds4iycie6ldjnnr@vireshk-i7> (raw)
In-Reply-To: <CABb+yY1OwVB+uk+0w+D-4Xy46iYn8tPZYBZ0qjrzQFLA6SaTvw@mail.gmail.com>

On 11-06-20, 19:34, Jassi Brar wrote:
> In the first post in this thread, Viresh lamented that mailbox
> introduces "a few ms" delay in the scheduler path.
> Your own tests show that is certainly not the case -- average is the
> same as proposed virtual channels 50-100us, the best case is 3us vs
> 53us for virtual channels.

Hmmm, I am not sure where is the confusion here Jassi. There are two
things which are very very different from each other.

- Time taken by the mailbox framework (and remote for acknowledging
  it) for completion of a single request, this can be 3us to 100s of
  us. This is clear for everyone. THIS IS NOT THE PROBLEM.

- Delay introduced by few of such requests on the last one, i.e. 5
  normal requests followed by an important one (like DVFS), the last
  one needs to wait for the first 5 to finish first. THIS IS THE
  PROBLEM.

Just increasing the timeout isn't going to solve anything as I said in
the last email, we can make it 5 minutes for what's its worth. The
idea is to make the turn-around-time less for all the requests..

From Google (I know you must already know it, I am just trying to
highlight the importance of this thing here):

Turnaround time (TAT) is the time interval from the time of submission
of a process (read request) to the time of the completion of the
process.

This is what people care about, that is the whole reason kernel has
multi-processing support in the first place. If making things
sequential was good enough, we would have never reached here. The
whole idea is to parallelize things as much as possible without
hurting efficiency in a bad way (like too much parallelism). The
hardware allows parallelism and there is absolutely no point in not
allowing that. The kernel doesn't need to worry about how the remote
is going to handle it. Remote may be simple and handle it sequentially
or it may be running Linux itself and can schedule multiple threads
for requests.

-- 
viresh

WARNING: multiple messages have this Message-ID (diff)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Jassi Brar <jassisinghbrar@gmail.com>
Cc: Rob Herring <robh@kernel.org>, Arnd Bergmann <arnd@arndb.de>,
	Devicetree List <devicetree@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Sudeep Holla <sudeep.holla@arm.com>,
	Frank Rowand <frowand.list@gmail.com>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>
Subject: Re: [RFC] dt-bindings: mailbox: add doorbell support to ARM MHU
Date: Fri, 12 Jun 2020 10:58:53 +0530	[thread overview]
Message-ID: <20200612052853.nds4iycie6ldjnnr@vireshk-i7> (raw)
In-Reply-To: <CABb+yY1OwVB+uk+0w+D-4Xy46iYn8tPZYBZ0qjrzQFLA6SaTvw@mail.gmail.com>

On 11-06-20, 19:34, Jassi Brar wrote:
> In the first post in this thread, Viresh lamented that mailbox
> introduces "a few ms" delay in the scheduler path.
> Your own tests show that is certainly not the case -- average is the
> same as proposed virtual channels 50-100us, the best case is 3us vs
> 53us for virtual channels.

Hmmm, I am not sure where is the confusion here Jassi. There are two
things which are very very different from each other.

- Time taken by the mailbox framework (and remote for acknowledging
  it) for completion of a single request, this can be 3us to 100s of
  us. This is clear for everyone. THIS IS NOT THE PROBLEM.

- Delay introduced by few of such requests on the last one, i.e. 5
  normal requests followed by an important one (like DVFS), the last
  one needs to wait for the first 5 to finish first. THIS IS THE
  PROBLEM.

Just increasing the timeout isn't going to solve anything as I said in
the last email, we can make it 5 minutes for what's its worth. The
idea is to make the turn-around-time less for all the requests..

From Google (I know you must already know it, I am just trying to
highlight the importance of this thing here):

Turnaround time (TAT) is the time interval from the time of submission
of a process (read request) to the time of the completion of the
process.

This is what people care about, that is the whole reason kernel has
multi-processing support in the first place. If making things
sequential was good enough, we would have never reached here. The
whole idea is to parallelize things as much as possible without
hurting efficiency in a bad way (like too much parallelism). The
hardware allows parallelism and there is absolutely no point in not
allowing that. The kernel doesn't need to worry about how the remote
is going to handle it. Remote may be simple and handle it sequentially
or it may be running Linux itself and can schedule multiple threads
for requests.

-- 
viresh

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2020-06-12  5:29 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-15  5:17 [RFC] dt-bindings: mailbox: add doorbell support to ARM MHU Viresh Kumar
2020-05-15  5:17 ` Viresh Kumar
2020-05-15 16:46 ` Jassi Brar
2020-05-15 16:46   ` Jassi Brar
2020-05-18  7:35   ` Viresh Kumar
2020-05-18  7:35     ` Viresh Kumar
2020-05-19  0:53     ` Jassi Brar
2020-05-19  0:53       ` Jassi Brar
2020-05-19  4:39       ` Viresh Kumar
2020-05-19  4:39         ` Viresh Kumar
2020-05-19  1:29 ` Bjorn Andersson
2020-05-19  1:29   ` Bjorn Andersson
2020-05-19  3:40   ` Viresh Kumar
2020-05-19  3:40     ` Viresh Kumar
2020-05-19  4:05     ` Jassi Brar
2020-05-19  4:05       ` Jassi Brar
2020-06-03 18:31       ` Sudeep Holla
2020-06-03 18:31         ` Sudeep Holla
2020-06-03 18:42         ` Jassi Brar
2020-06-03 18:42           ` Jassi Brar
2020-06-03 18:28   ` Sudeep Holla
2020-06-03 18:28     ` Sudeep Holla
2020-05-28 19:20 ` Rob Herring
2020-05-28 19:20   ` Rob Herring
2020-05-29  4:07   ` Viresh Kumar
2020-05-29  4:07     ` Viresh Kumar
2020-06-03 18:04     ` Sudeep Holla
2020-06-03 18:04       ` Sudeep Holla
2020-06-03 18:17       ` Sudeep Holla
2020-06-03 18:17         ` Sudeep Holla
2020-06-04  5:59         ` Viresh Kumar
2020-06-04  5:59           ` Viresh Kumar
2020-06-04  8:28           ` Sudeep Holla
2020-06-04  8:28             ` Sudeep Holla
2020-06-03 18:32       ` Jassi Brar
2020-06-03 18:32         ` Jassi Brar
2020-06-04  9:20         ` Sudeep Holla
2020-06-04  9:20           ` Sudeep Holla
2020-06-04 15:15           ` Jassi Brar
2020-06-04 15:15             ` Jassi Brar
2020-06-05  4:56             ` Sudeep Holla
2020-06-05  4:56               ` Sudeep Holla
2020-06-05  6:30               ` Jassi Brar
2020-06-05  6:30                 ` Jassi Brar
2020-06-05  8:58                 ` Sudeep Holla
2020-06-05 15:42                   ` Jassi Brar
2020-06-05 15:42                     ` Jassi Brar
2020-06-10  9:33                     ` Viresh Kumar
2020-06-10  9:33                       ` Viresh Kumar
2020-06-11 10:00                       ` Sudeep Holla
2020-06-11 10:00                         ` Sudeep Holla
2020-06-12  0:34                         ` Jassi Brar
2020-06-12  0:34                           ` Jassi Brar
2020-06-12  5:28                           ` Viresh Kumar [this message]
2020-06-12  5:28                             ` Viresh Kumar
2020-09-08  9:14                             ` Arnd Bergmann
2020-09-08  9:14                               ` Arnd Bergmann
2020-09-08  9:27                               ` Viresh Kumar
2020-09-08  9:27                                 ` Viresh Kumar
2020-09-08 13:26                               ` Sudeep Holla
2020-09-08 13:26                                 ` Sudeep Holla
2020-09-09  3:23                               ` Jassi Brar
2020-09-09  3:23                                 ` Jassi Brar
2020-09-09  4:46                                 ` Viresh Kumar
2020-09-09  4:46                                   ` Viresh Kumar
2020-09-09  9:31                                 ` Sudeep Holla
2020-09-09  9:31                                   ` Sudeep Holla
2020-05-29  5:20   ` Jassi Brar
2020-05-29  5:20     ` Jassi Brar
2020-05-29  6:27     ` Viresh Kumar
2020-05-29  6:27       ` Viresh Kumar

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=20200612052853.nds4iycie6ldjnnr@vireshk-i7 \
    --to=viresh.kumar@linaro.org \
    --cc=arnd@arndb.de \
    --cc=bjorn.andersson@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=frowand.list@gmail.com \
    --cc=jassisinghbrar@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh@kernel.org \
    --cc=sudeep.holla@arm.com \
    --cc=vincent.guittot@linaro.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.