linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: nicolas.pitre@linaro.org (Nicolas Pitre)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH RFC/RFT 0/6] MCPM refactoring and major backend simplification
Date: Wed, 18 Mar 2015 14:04:47 -0400	[thread overview]
Message-ID: <1426701893-25589-1-git-send-email-nicolas.pitre@linaro.org> (raw)

After 3 years in the field and new platforms using MCPM, it is time to
look at what can be improved.  It has become obvious that most backends
are reimplementing the same overall code structure which ought to be better
abstracted into the core code.

Things can be simplified greatly by moving all the locking handling to the
core code, leaving machine specific backend only with simple and straight
forward small operations performed under lock protection. It will no longer
be necessary for backend authors to know about all the MCPM subtleties for
their code to be "right". The low-level MCPM locking primitives could also
become private to the MCPM core which is a plus for maintenance.

The diffstat also shows a clear benefit.  Despite the addition of new
documentation, the number of removed lines is significant, especially for
backend code.

To avoid a flag day, the new scheme is introduced in parallel to the
existing backend interface. I would like for this series to hit mainline
during the next merge window, and those new backends also queued for the
next merge window could be merged in parallel even if they are not
converted yet. Then, during the next cycle those backends could be
converted over and the backward compatibility removed.

The hisi04 backend, though, is instead converted to raw SMP operations
as it currently doesn't benefit from MCPM at all and doesn't fit well
with the new backend structure.

This series can also be obtained from the following Git repository:

	http://git.linaro.org/people/nicolas.pitre/linux.git mcpm

Everything was compile tested, however runtime testing only happened
on TC2.  Reviews and test results are appreciated.

 arch/arm/common/mcpm_entry.c       | 202 +++++++++++++++++----
 arch/arm/include/asm/mcpm.h        |  65 ++++++-
 arch/arm/mach-exynos/mcpm-exynos.c | 246 ++++++--------------------
 arch/arm/mach-hisi/platmcpm.c      | 127 +++++---------
 arch/arm/mach-vexpress/dcscb.c     | 197 +++++++--------------
 arch/arm/mach-vexpress/tc2_pm.c    | 291 +++++++++----------------------
 6 files changed, 474 insertions(+), 654 deletions(-)


Nicolas

             reply	other threads:[~2015-03-18 18:04 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-18 18:04 Nicolas Pitre [this message]
2015-03-18 18:04 ` [PATCH RFC/RFT 1/6] MCPM: move the algorithmic complexity to the core code Nicolas Pitre
2015-03-18 18:04 ` [PATCH RFC/RFT 2/6] ARM: vexpress: migrate TC2 to the new MCPM backend abstraction Nicolas Pitre
2015-03-18 18:04 ` [PATCH RFC/RFT 3/6] ARM: vexpress: DCSCB: tighten CPU validity assertion Nicolas Pitre
2015-03-18 18:04 ` [PATCH RFC/RFT 4/6] ARM: vexpress: migrate DCSCB to the new MCPM backend abstraction Nicolas Pitre
2015-03-18 18:04 ` [PATCH RFC/RFT 5/6] ARM: Exynos: " Nicolas Pitre
2015-03-24 23:24   ` Nicolas Pitre
2015-03-25  9:40     ` Daniel Lezcano
2015-03-25 16:02       ` Nicolas Pitre
2015-03-18 18:04 ` [PATCH RFC/RFT 6/6] ARM: hisi/hip04: remove the MCPM overhead Nicolas Pitre

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=1426701893-25589-1-git-send-email-nicolas.pitre@linaro.org \
    --to=nicolas.pitre@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).