All of lore.kernel.org
 help / color / mirror / Atom feed
From: George Dunlap <george.dunlap@eu.citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Anup Patel <anup.patel@linaro.org>, Tim Deegan <tim@xen.org>,
	xen-devel <xen-devel@lists.xen.org>,
	Julien Grall <julien.grall@citrix.com>,
	Stefano Stabellini <stefano.stabellini@citrix.com>,
	Pranavkumar Sawargaonkar <pranavkumar@linaro.org>
Subject: Re: [PATCH+RFC+HACK 00/16] xen: arm initial support for xgene arm64 platform
Date: Thu, 21 Nov 2013 17:14:01 +0000	[thread overview]
Message-ID: <528E3F59.6090106@eu.citrix.com> (raw)
In-Reply-To: <1385048295.6071.181.camel@kazak.uk.xensource.com>

On 21/11/13 15:38, Ian Campbell wrote:
> On Thu, 2013-11-21 at 15:05 +0000, George Dunlap wrote:
>> On Wed, Nov 20, 2013 at 2:45 PM, Ian Campbell <Ian.Campbell@citrix.com> wrote:
>>> I'm afraid this series is rather a grab bag and it is distressingly
>>> large at this stage. With this series I can boot an Xgene board until it
>>> fails to find its SATA controller. This is a dom0 issue for which
>>> patches are pending from APM (/me nudges Anup).
>>>
>>> As well as the APM specific platform stuff there are also some generic
>>> improvements which were either necessary or useful during this work.
>>> Towards the tail end are some hacks and rfcs which need more work and/or
>>> discussion. I mostly posting now because I'm aware that I've been
>>> negligent in not sending these out sooner.
>>>
>>> WRT the freeze I think that the baseline stuff is all plausible for 4.4.
>>> Firstly because I'm inclined to give new platform enablement a fairly
>>> loose reign at least for the time being (and much of it was posted ages
>>> ago by Anup/Pranavkumar). Secondly the non-platform related bits (other
>>> than the aforementioned hacks/rfcs) fall mostly either into two buckets:
>>> Either they are bugfixes or they are mostly obviously safe (additional
>>> debug prints etc).
>>>
>>> Blow by blow analysis:
> Pulling your last comment first, since it informs many of my other
> answers:
>> You address risks, but you don't address the fundamental benefit of
>> including it now, rather than waiting to check it in for 4.5.  At the
>> moment, unless there is some compelling strategic reason for including
>> this in 4.4, I'm inclined to say it should just wait.
> The primary benefit is that this is the first real (i.e. non emulated)
> 64-bit ARM server platform on the market. Having Xen running on that
> early in the new year would be awesome.
>
> As well as the currently supported platforms and this one new one we
> should also account for people who want to port Xen 4.4 to their own
> platform. The closer we can make this to "drop a file in
> xen/arch/arm/platforms/ and add it to the Makefile" the better IMHO.
> Most of the patches below (i.e. the ones which haven't already been
> okayed) are relevant in this light.

Right, so this would be for people shipping "4.4+vendor patches". If we 
didn't accept these, they'd have to fix or backport all these things 
themselves.

That sounds like a pretty compelling strategic reason. :-)  And it 
justifies a number of the more potentially risky patches as improvements 
in their own right (i.e., not just for xgene, but for other bigger 
platforms).

>>>          xen: arm: Handle cpus nodes with #address-cells > 1
>> So we need to make a distinction here with "bug fixes": from a release
>> perspective, bugs are errors in the code that affect working features.
>>   What is the likelihood that any currently-supported architectures
>> might problems without this patch?  It's not clear from looking at the
>> patch.  If it's low-to-none, then this wouldn't really qualify for a
>> bug fix exemption to the code freeze.
> In principal it's entirely possible that someone might rewrite the dts
> of such a platform this way. It's a bit unlikely but the main reason
> would because as well as the cpu number #address-cells also influences
> things like the cpu spin address property (where it is present), which
> could conceivably be about 4G (albeit unlikely on 32-bit).
>
> But ultimately this is a Xen bug because it does not correctly parse a
> valid device tree file.

So just to step back and talk about principles here:  Sure, and I didn't 
say it wasn't a bug.  But I don't think that the freeze exemption is to 
just fix bugs per se; it's to fix broken functionality in supported 
features.  So just the fact that something is in theory wrong with Xen 
isn't enough; it has to impact features that are actually supported.

Now in this case I think this distinction is unnecessary, since I buy 
your argument that one of the things we want to support is the 
"4.4+vendor patches" model; so it does impact features that we actually 
want to support.  But if it weren't for that, I wouldn't accept it just 
on the basis that it's a bug in Xen, if it didn't actually affect any of 
the supported functionality.

>
>>>          RFC: xen: arm: handle 40-bit addresses in the p2m
>>>          RFC: xen: arm: allow platform code to select dom0 event channel irq
>>>
>>>                  These should be considered for cleanup review and
>>>                  eventual commit for 4.4. The rest of the platform
>>>                  enablement is pretty pointless without these.
>> Hmm... it seems a bit late for RFC stuff in fairly core code.  These
>> look like they might possibly be extending functionality for
>> currently-supported architectures as well; but without concrete
>> examples, this would come under "new feature" rather than "bug fix".
> The 40-bit address thing is an issue on 32-bit too, it's just that the
> platforms don't typically have anything mapped up that high (MMIO tends
> to be lower to support non-LPAE kernels and they don't typically have
> TBs of RAM).
>
> On the plus side the new case would never hit on the existing platforms.
> If nothing else there is currently a BUG_ON checking for that.

Oh, right -- it looked like you might be increasing the number of pages 
allocated, but now I see that you've just replaced a '1' with 
P2M_FIRST_ORDER (which is different to P2M_FIRST_ENTRIES).  That makes 
more sense then.

>> (Although it looks like Julien has a simple solution that makes this
>> last patch unnecessary?)
> I don't think Julien is right about that simpler solution being
> workable, but regardless I think it would be better to err on the side
> of caution and reimplement both of these as platform hooks for 4.4. The
> first would be a new quirk (only implemented by this platform) and the
> second would be using an existing per-platform hook.
>
> Unless that sounds obviously bogus to you I'll put something together
> for you to pass judgement on.

Sounds good.

  -George

      reply	other threads:[~2013-11-21 17:14 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-20 14:45 [PATCH+RFC+HACK 00/16] xen: arm initial support for xgene arm64 platform Ian Campbell
2013-11-20 14:48 ` [PATCH 01/16] xen: arm64: Add 8250 earlyprintk support Ian Campbell
2013-11-20 16:17   ` Julien Grall
2013-11-20 14:48 ` [PATCH 02/16] xen: arm64: Add Basic Platform support for APM X-Gene Storm Ian Campbell
2013-11-20 16:23   ` Julien Grall
2013-11-20 19:07   ` Stefano Stabellini
2013-11-20 14:48 ` [PATCH 03/16] xen: arm64: Add APM implementor id to processor implementers Ian Campbell
2013-11-20 16:23   ` Julien Grall
2013-11-20 19:10   ` Stefano Stabellini
2013-11-20 14:48 ` [PATCH 04/16] xen: arm: include ns16550 driver on arm64 too Ian Campbell
2013-11-20 16:24   ` Julien Grall
2013-11-20 19:10   ` Stefano Stabellini
2013-11-20 14:48 ` [PATCH 05/16] xen: arm: Enable 1:1 workaround for APM X-Gene Storm Ian Campbell
2013-11-20 19:10   ` Stefano Stabellini
2013-11-21 10:24     ` Ian Campbell
2013-11-20 14:48 ` [PATCH 06/16] xen: arm: early logging of command line Ian Campbell
2013-11-20 16:25   ` Julien Grall
2013-11-20 19:06   ` Stefano Stabellini
2013-11-20 14:48 ` [PATCH 07/16] xen: arm: Handle cpus nodes with #address-calls > 1 Ian Campbell
2013-11-20 16:31   ` Julien Grall
2013-11-20 16:37     ` Ian Campbell
2013-11-20 16:46       ` Julien Grall
2013-11-20 14:48 ` [PATCH 08/16] xen: arm: Make register bit definitions unsigned Ian Campbell
2013-11-20 19:29   ` Stefano Stabellini
2013-11-21 10:29     ` Ian Campbell
2013-11-20 14:48 ` [PATCH 09/16] xen: arm: explicitly map 64 bit release address Ian Campbell
2013-11-20 19:31   ` Stefano Stabellini
2013-11-20 14:48 ` [PATCH 10/16] xen: arm: enable synchronous console while starting secondary CPUs Ian Campbell
2013-11-20 17:31   ` Julien Grall
2013-11-20 17:37     ` Ian Campbell
2013-11-21 13:40       ` Julien Grall
2013-11-20 19:22   ` Stefano Stabellini
2013-11-21 10:32     ` Ian Campbell
2013-11-20 14:48 ` [PATCH 11/16] xen: arm: Add debug keyhandler to dump the physical GIC state Ian Campbell
2013-11-20 17:36   ` Julien Grall
2013-11-20 17:48     ` Ian Campbell
2013-11-20 19:17   ` Stefano Stabellini
2013-11-21 10:35     ` Ian Campbell
2013-11-20 14:48 ` [PATCH 12/16] xen: arm: improve early memory map readability Ian Campbell
2013-11-20 17:16   ` Julien Grall
2013-11-20 14:48 ` [PATCH 13/16] RFC: xen: arm: handle 40-bit addresses in the p2m Ian Campbell
2013-11-21 19:17   ` Stefano Stabellini
2013-11-22  9:49     ` Ian Campbell
2013-11-20 14:48 ` [PATCH 14/16] RFC: xen: arm: allow platform code to select dom0 event channel irq Ian Campbell
2013-11-21 18:44   ` Stefano Stabellini
2013-11-20 14:48 ` [PATCH 15/16] HACK: xen: arm: GICC_DIR register at offset 0x10000 instead of 0x1000 Ian Campbell
2013-11-20 14:48 ` [PATCH 16/16] HACK: xen: arm: map PCI controller ranges region MMIOs to dom0 Ian Campbell
2013-11-21 14:32   ` Julien Grall
2013-11-21 14:57     ` Ian Campbell
2013-11-21 15:42       ` Julien Grall
2013-11-21 15:53         ` Ian Campbell
2013-11-21 15:05 ` [PATCH+RFC+HACK 00/16] xen: arm initial support for xgene arm64 platform George Dunlap
2013-11-21 15:27   ` Stefano Stabellini
2013-11-21 15:38   ` Ian Campbell
2013-11-21 17:14     ` George Dunlap [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=528E3F59.6090106@eu.citrix.com \
    --to=george.dunlap@eu.citrix.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=anup.patel@linaro.org \
    --cc=julien.grall@citrix.com \
    --cc=pranavkumar@linaro.org \
    --cc=stefano.stabellini@citrix.com \
    --cc=tim@xen.org \
    --cc=xen-devel@lists.xen.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.