From: Thierry Reding <thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
Cc: Ulf Hansson <ulf.hansson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
Jon Hunter <jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
Philipp Zabel <p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>,
Alexandre Courbot
<gnurou-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Rafael Wysocki <rjw-LthD3rsA81gm4RdzfppkhA@public.gmane.org>,
Kevin Hilman <khilman-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Pawel Moll <pawel.moll-5wv7dgnIgG8@public.gmane.org>,
Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
Ian Campbell
<ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org>,
Kumar Gala <galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
Vince Hsu <vinceh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>
Subject: Re: [PATCH V4 16/16] ARM64: tegra: select PM_GENERIC_DOMAINS
Date: Tue, 26 Jan 2016 18:30:01 +0100 [thread overview]
Message-ID: <20160126173001.GA11062@ulmo.nvidia.com> (raw)
In-Reply-To: <4244898.5om31fQ1mz@wuerfel>
[-- Attachment #1: Type: text/plain, Size: 4598 bytes --]
On Thu, Jan 14, 2016 at 12:11:39PM +0100, Arnd Bergmann wrote:
> On Thursday 14 January 2016 11:29:24 Thierry Reding wrote:
> >
> > It just occurred to me that none of these options really make much of a
> > difference. As Jon mentioned once we merge this series a lot of features
> > on Tegra will start to rely on PM_GENERIC_DOMAINS and hence PM. So if we
> > do want to build a kernel with a maximum of Tegra features enabled (and
> > I think a multi_v7_defconfig should include that) we'll end up with a PM
> > dependency anyway, whether forced via select or implied via depends on.
> >
> > I'm beginning to wonder if PM really should be an option these days. The
> > disadvantages of making it optional do outweigh the advantages in my
> > opinion. I'm not saying that, in general, it's totally useless to build
> > a kernel that has no PM support, but for the more specific case where
> > you would want to enable multi-platform support I don't think there's
> > much practical advantage in allowing !PM. One of the most common build
> > warnings are triggered because of this option. Also multi-platform
> > kernels are really big already, so much so that I doubt it would make a
> > significant difference if we unconditionally built PM support. Also the
> > chances are that we'll be seeing more and more SoCs support PM and rely
> > on it, much like Tegra would with the addition of this series.
> >
> > I imagine that we could save ourselves a lot of headaches by simply
> > enabling PM by default, whether that be via the PM Kconfig option or by
> > selecting it from ARCH_TEGRA and any other architectures that may come
> > to rely on it. Doing so would also reduce the amount of test coverage
> > that we need to do, both at compile- and runtime.
>
> I think this needs some investigation. As a general policy, we should
> not grow the kernel image size when moving from a traditional ARM
> platform to an ARCH_MULTIPLATFORM one.
If we make ARCH_TEGRA select PM, then moving to a multi-platform kernel
isn't automatically going to increase the image size. The image size is
only going to increase if you select ARCH_TEGRA to be part of the multi
platform image.
> This is somewhat contradicted by how we already require CONFIG_OF
> to be set for multiplatform kernels, and that adds around 80kb
> to the image size.
Yeah, there's also a fair amount of per-SoC code that can't be built as
a module and which will be included in multi-platform images when the
corresponding ARCH_* symbol is enabled. But I think that's inevitable
given the purpose of multi-platform images.
> Looking at just the defconfig files, these are the ones that currently
> do not set CONFIG_PM:
>
> build/acs5k_defconfig/.config:# CONFIG_PM is not set
> build/acs5k_tiny_defconfig/.config:# CONFIG_PM is not set
> build/axm55xx_defconfig/.config:# CONFIG_PM is not set
> build/bcm2835_defconfig/.config:# CONFIG_PM is not set
> build/clps711x_defconfig/.config:# CONFIG_PM is not set
> build/ebsa110_defconfig/.config:# CONFIG_PM is not set
> build/footbridge_defconfig/.config:# CONFIG_PM is not set
> build/ks8695_defconfig/.config:# CONFIG_PM is not set
> build/netwinder_defconfig/.config:# CONFIG_PM is not set
> build/rpc_defconfig/.config:# CONFIG_PM is not set
> build/u300_defconfig/.config:# CONFIG_PM is not set
> build/vf610m4_defconfig/.config:# CONFIG_PM is not set
>
> The only ones among these are are actually multiplatform are axm55xx,
> bcm2835, and u300. I see no downsides of force-enabling PM for
> any of those, so we could decide to 'select PM' from
> CONFIG_ARCH_MULTIPLATFORM.
ARCH_MULTIPLATFORM selecting PM would include PM unconditionally, even
if none of the selected platforms require it. In my opinion an explicit
select from platforms that require PM would be cleaner. It could be that
once we start doing that for a single platform others might follow. When
this becomes common place it might be worth moving it up a level, but I
think explicit dependencies would be better for starters.
> The one usecase where we may want to have a modern machine without
> CONFIG_PM is a minimal MACH_VIRT kernel for running in a virtual
> machine or QEMU with minimal memory requirements, e.g. trying to
> squeeze a large number of guests on a single host system.
Right, but those won't be multi-platform kernels, right? If you know
exactly that the kernel will run in a virtual machine and that you want
to run lots of virtual machines, you probably want to build a custom
kernel.
Thierry
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2016-01-26 17:30 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-04 14:57 [PATCH V4 00/16] Add generic PM domain support for Tegra Jon Hunter
2015-12-04 14:57 ` [PATCH V4 01/16] reset: add of_reset_control_get_by_index() Jon Hunter
2015-12-04 14:57 ` [PATCH V4 02/16] soc: tegra: pmc: Add missing structure members to kernel-doc Jon Hunter
[not found] ` <1449241037-22193-3-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-01-25 13:20 ` Thierry Reding
2015-12-04 14:57 ` [PATCH V4 03/16] soc: tegra: pmc: Fix sparse warning for tegra_pmc_init_tsense_reset Jon Hunter
2016-01-25 13:21 ` Thierry Reding
2015-12-04 14:57 ` [PATCH V4 04/16] soc: tegra: pmc: Remove debugfs entry on probe failure Jon Hunter
[not found] ` <1449241037-22193-5-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-01-25 13:25 ` Thierry Reding
2015-12-04 14:57 ` [PATCH V4 05/16] soc: tegra: pmc: Avoid extra remapping of PMC registers Jon Hunter
2016-01-14 13:45 ` Thierry Reding
2016-01-14 16:35 ` Jon Hunter
2016-01-14 17:24 ` Thierry Reding
2016-01-14 19:02 ` Jon Hunter
2015-12-04 14:57 ` [PATCH V4 06/16] soc: tegra: pmc: Wait for powergate state to change Jon Hunter
[not found] ` <1449241037-22193-7-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-01-14 14:01 ` Thierry Reding
2016-01-15 9:06 ` Jon Hunter
2015-12-04 14:57 ` [PATCH V4 07/16] soc: tegra: pmc: Remove non-existing power partitions for T210 Jon Hunter
2016-01-25 13:27 ` Thierry Reding
2015-12-04 14:57 ` [PATCH V4 08/16] soc: tegra: pmc: Fix checking of valid partitions Jon Hunter
2016-01-14 14:11 ` Thierry Reding
2016-01-15 9:08 ` Jon Hunter
2015-12-04 14:57 ` [PATCH V4 09/16] soc: tegra: pmc: Ensure partitions can be toggled on/off by PMC Jon Hunter
[not found] ` <1449241037-22193-10-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-01-14 14:14 ` Thierry Reding
2016-01-15 9:32 ` Jon Hunter
2015-12-04 14:57 ` [PATCH V4 10/16] PM / Domains: Add function to remove a pm-domain Jon Hunter
2015-12-04 14:57 ` [PATCH V4 11/16] Documentation: DT: bindings: Update NVIDIA PMC for Tegra210 Jon Hunter
2015-12-06 0:31 ` Rob Herring
2015-12-07 9:54 ` Jon Hunter
2015-12-04 14:57 ` [PATCH V4 12/16] Documentation: DT: bindings: Add power domain info for NVIDIA PMC Jon Hunter
2015-12-08 19:07 ` Kevin Hilman
[not found] ` <7h4mfslpyd.fsf-1D3HCaltpLuhEniVeURVKkEOCMrvLtNR@public.gmane.org>
2015-12-09 12:23 ` Jon Hunter
[not found] ` <56681D53.9090600-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-12-09 12:33 ` Jon Hunter
[not found] ` <56681F9A.6080200-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-12-15 0:42 ` Kevin Hilman
2015-12-15 0:34 ` Kevin Hilman
[not found] ` <1449241037-22193-13-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-12-06 0:37 ` Rob Herring
2015-12-07 9:56 ` Jon Hunter
2016-01-14 14:41 ` Thierry Reding
2016-01-15 9:43 ` Jon Hunter
2015-12-04 14:57 ` [PATCH V4 13/16] soc: tegra: pmc: Add generic PM domain support Jon Hunter
2016-01-14 14:39 ` Thierry Reding
2016-01-15 9:42 ` Jon Hunter
[not found] ` <5698BF00.6090102-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-01-15 10:01 ` Lucas Stach
2015-12-04 14:57 ` [PATCH V4 14/16] clk: tegra210: Add the APB2APE audio clock Jon Hunter
[not found] ` <1449241037-22193-1-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-12-04 14:57 ` [PATCH V4 15/16] ARM64: tegra: Add audio PM domain device node for Tegra210 Jon Hunter
2015-12-04 14:57 ` [PATCH V4 16/16] ARM64: tegra: select PM_GENERIC_DOMAINS Jon Hunter
[not found] ` <1449241037-22193-17-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-12-15 19:54 ` Ulf Hansson
[not found] ` <CAPDyKFrcuK4iCo7Tg1Q_XjB7Y-+=s-ax1vzK4UEu9FfPnuProw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-16 9:40 ` Jon Hunter
2015-12-16 9:47 ` Ulf Hansson
[not found] ` <CAPDyKFpZoZZapqanFyUzT_jZ6DLBnGXOXEyDHosWpphAjzhy7A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-16 11:40 ` Jon Hunter
2015-12-16 12:51 ` Ulf Hansson
2016-01-13 17:03 ` Thierry Reding
2016-01-13 20:43 ` Arnd Bergmann
2016-01-14 8:57 ` Ulf Hansson
2016-01-14 9:21 ` Arnd Bergmann
2016-01-14 10:29 ` Thierry Reding
2016-01-14 11:11 ` Arnd Bergmann
2016-01-26 17:30 ` Thierry Reding [this message]
[not found] ` <20160126173001.GA11062-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2016-01-26 21:52 ` Kevin Hilman
2016-01-14 17:16 ` Jon Hunter
2016-01-26 17:01 ` Jon Hunter
2016-01-27 9:43 ` Ulf Hansson
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=20160126173001.GA11062@ulmo.nvidia.com \
--to=thierry.reding-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=arnd-r2nGTMty4D4@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
--cc=gnurou-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org \
--cc=jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
--cc=khilman-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
--cc=p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
--cc=pawel.moll-5wv7dgnIgG8@public.gmane.org \
--cc=rjw-LthD3rsA81gm4RdzfppkhA@public.gmane.org \
--cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org \
--cc=ulf.hansson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=vinceh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.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).