From: Theodore Ts'o <tytso@mit.edu>
To: Amit Kucheria <amit.kucheria@linaro.org>
Cc: James Bottomley <James.Bottomley@hansenpartnership.com>,
"ltsi-dev@lists.linuxfoundation.org"
<ltsi-dev@lists.linuxfoundation.org>,
"ksummit-discuss@lists.linuxfoundation.org"
<ksummit-discuss@lists.linuxfoundation.org>,
"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>
Subject: Re: [Ksummit-discuss] [Stable kernel] feature backporting collaboration
Date: Sun, 4 Sep 2016 19:51:57 -0400 [thread overview]
Message-ID: <20160904235157.dyyevfr5wbasi7aq@thunk.org> (raw)
In-Reply-To: <CAP245DVwmwkG3VbpiKmCx1Y4d3Hf62idZyHuroNf9TZ=yFuDsg@mail.gmail.com>
On Mon, Sep 05, 2016 at 04:28:44AM +0530, Amit Kucheria wrote:
>
> The vendors depend on Google providing an Android common tree[1] to
> build their BSP on top of. Currently, there isn't anything newer than
> a 4.4-based common tree from Google. It'll be early 2017 by the time
> 4.9 LTS is released and the Android common tree is available on it
> before vendors can even start porting their BSPs to it. Some are
> quicker than others, but safe to say that it'll be summer 2017 by the
> time the vendor BSPs can run on 4.9 LTS. That leaves very little time
> for product testing[2] and some slack, in order to ready devices for
> the Christmas market[3]. The project managers will flag that as a
> 'risk' and the vendor will stick to a 4.4 LTS.
>
> But since 4.4 LTS misses some key features that have landed in 4.5,
> 4.6, 4.7 and 4.8, something like LSK will fill that gap by backporting
> those features.
But the BSP kernel already has thousands of commits and tens of
thousands of lines of code (some of which guarantee that the kernel
won't build on anything other than ARM, which makes testing file
systems using KVM Very Hard). So if you backport to LSK, that's not
going to help the BSP kernel unless someone then cherry picks patches
from LSK to the BSP kernel. So you are doing two very risky things;
one is backporting a feature to 4.4 LTS, and then cherry picking the
feature from the 4.4 LTS upstream kernel to the BSP kernel.
I've done this sort of thing before, with ext4 encryption, where I was
very familiar with the code and where I had a comprehensive test suite
so I could at least test the first part of it using kvm/x86. And I
can tell you it's an *extremely* fraught and tricky thing. What works
for device A won't work for device B, and just because you've
backported the feature a 3.10 or 3.18 upstream kernel, and tested it
extensively, doesn't mean that it is easy and risk free to cherry pick
the patch to device kernel A and device kernel B, because the changes
made by SOC vendor A and SOC vendor B may be quite different (and may
not even be based on the same upstream kernel version). And although
we finally have xfstests (sorta[1]) working under Android today, we
didn't have it when we started, and there were bugs introduced just
doing the cherry pick.
[1] https://github.com/tytso/xfstests-bld/blob/master/Documentation/android-xfstests.md
And this was with the subsystem expert personally doing the backport
and the cherry pick, and where each cherry pick for each different
device kernel had to be done separately and tested separately.
Doing this generally for a large number of device kernels, and for
features where you weren't the original developer and for which you
might not have deep set of regression tests? Good luck with that....
> Now, if everything was on its way upstream, the BSP deltas would be
> smaller and the whole porting and validation exercise on top of the
> Android common tree would take much less time. But we aren't there yet
> for all vendors, some are doing better than others.
Has there been *any* forward progress since last year in terms of
reducing the BSP deltas?
Even if we can't get everyone working from upstream, if multiple BSP
deltas for different SOC's could be integrated into a single common
4.4 tree, and if that 4.4 tree could still generate bootable x86
kernels, so that could be the basis of an Android common branch, that
would be a good start. But I suspect we are a looooooong way away
from that.
- Ted
next prev parent reply other threads:[~2016-09-04 23:51 UTC|newest]
Thread overview: 122+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-01 2:01 Alex Shi
2016-09-02 1:25 ` Levin, Alexander
2016-09-02 2:43 ` Stephen Hemminger
2016-09-02 9:59 ` Mark Brown
2016-09-02 9:54 ` Mark Brown
2016-09-02 10:16 ` [Ksummit-discuss] [LTSI-dev] " Geert Uytterhoeven
2016-09-02 14:42 ` [Ksummit-discuss] " James Bottomley
2016-09-02 14:55 ` Rik van Riel
2016-09-02 15:04 ` James Bottomley
2016-09-02 15:39 ` Rik van Riel
2016-09-02 17:06 ` Bird, Timothy
2016-09-05 1:45 ` NeilBrown
2016-09-05 11:04 ` Mark Brown
2016-09-05 22:44 ` NeilBrown
2016-09-06 0:57 ` Mark Brown
2016-09-06 5:41 ` NeilBrown
2016-09-08 18:33 ` [Ksummit-discuss] [LTSI-dev] " Bird, Timothy
2016-09-08 22:38 ` NeilBrown
2016-09-09 11:01 ` Mark Brown
2016-09-09 22:17 ` NeilBrown
2016-09-12 17:37 ` Mark Brown
2016-09-13 7:46 ` NeilBrown
2016-09-13 17:53 ` Mark Brown
2016-09-02 18:21 ` [Ksummit-discuss] " Olof Johansson
2016-09-02 23:35 ` Mark Brown
2016-09-03 5:29 ` Guenter Roeck
2016-09-03 10:40 ` Mark Brown
2016-09-04 0:10 ` Theodore Ts'o
2016-09-04 8:34 ` gregkh
2016-09-04 22:58 ` Amit Kucheria
2016-09-04 23:51 ` Theodore Ts'o [this message]
2016-09-05 12:58 ` Mark Brown
2016-09-05 11:11 ` Mark Brown
2016-09-05 14:03 ` Theodore Ts'o
2016-09-05 14:22 ` Laurent Pinchart
2016-09-06 0:35 ` Mark Brown
2016-09-06 15:30 ` James Bottomley
2016-09-06 19:44 ` gregkh
2016-09-06 22:20 ` Mark Brown
2016-09-06 22:34 ` James Bottomley
2016-09-08 18:55 ` Bird, Timothy
2016-09-08 19:19 ` gregkh
2016-09-09 10:45 ` Mark Brown
2016-09-09 11:03 ` gregkh
2016-09-09 11:48 ` Mark Brown
2016-09-06 23:23 ` Mark Brown
2016-09-06 13:34 ` Catalin Marinas
2016-09-06 16:24 ` Bartlomiej Zolnierkiewicz
2016-09-06 16:25 ` Guenter Roeck
2016-09-06 22:39 ` Mark Brown
2016-09-07 8:33 ` Jan Kara
2016-09-07 8:41 ` Jiri Kosina
2016-09-07 18:44 ` Mark Brown
2016-09-08 17:06 ` Frank Rowand
2016-09-09 10:32 ` Mark Brown
2016-09-09 15:21 ` Alex Shi
2016-09-12 15:34 ` Christoph Hellwig
2016-09-06 16:46 ` Olof Johansson
2016-09-08 8:34 ` Linus Walleij
2016-09-08 8:55 ` Vinod Koul
2016-09-09 14:32 ` Rob Herring
2016-09-09 14:23 ` Rob Herring
[not found] ` <2181684.5VzIQ6DWv4@amdc1976>
2016-09-07 9:32 ` Catalin Marinas
2016-09-07 13:07 ` Bartlomiej Zolnierkiewicz
2016-09-07 18:49 ` Mark Brown
2016-09-09 15:06 ` Alex Shi
2016-09-02 23:29 ` Mark Brown
2016-09-02 19:16 ` Levin, Alexander
2016-09-03 0:05 ` Mark Brown
2016-09-05 9:28 ` Laurent Pinchart
2016-09-21 6:58 ` Alex Shi
2016-09-21 9:23 ` gregkh
2016-09-21 14:52 ` Alex Shi
2016-09-21 15:28 ` gregkh
2016-09-21 18:50 ` Mark Brown
2016-09-22 3:15 ` Alex Shi
2016-09-21 18:22 ` Mark Brown
2016-09-21 18:54 ` Linus Walleij
2016-09-21 19:52 ` Theodore Ts'o
2016-09-22 0:43 ` Mark Brown
2016-09-22 5:20 ` gregkh
2016-09-22 12:56 ` Laurent Pinchart
2016-09-22 16:22 ` Mark Brown
2016-09-22 22:14 ` Theodore Ts'o
2016-09-23 12:28 ` Laurent Pinchart
2016-09-23 13:27 ` [Ksummit-discuss] [LTSI-dev] " Alex Shi
2016-09-23 13:40 ` Laurent Pinchart
2016-09-23 14:40 ` [Ksummit-discuss] " Mark Brown
2016-09-21 13:56 ` Theodore Ts'o
2016-09-21 15:23 ` Alex Shi
2016-09-21 15:33 ` gregkh
2016-09-21 19:16 ` Mark Brown
2016-09-02 13:47 ` Theodore Ts'o
2016-09-02 19:31 ` Levin, Alexander
2016-09-02 19:42 ` gregkh
2016-09-02 20:06 ` Levin, Alexander
2016-09-03 2:04 ` Mark Brown
2016-09-06 7:20 ` [Ksummit-discuss] [LTSI-dev] " Tsugikazu Shibata
2016-09-10 12:00 ` Theodore Ts'o
2016-09-12 16:27 ` Mark Brown
2016-09-12 17:14 ` Greg KH
2016-09-12 23:45 ` Mark Brown
2016-09-13 3:14 ` Theodore Ts'o
2016-09-13 10:14 ` Mark Brown
2016-09-13 13:19 ` Levin, Alexander
2016-09-13 6:19 ` Greg KH
2016-09-13 10:38 ` Mark Brown
2016-09-13 12:09 ` Greg KH
2016-09-13 12:20 ` Josh Boyer
2016-09-13 13:12 ` Greg KH
2016-09-13 16:23 ` Bird, Timothy
2016-09-13 19:02 ` Mark Brown
2016-09-14 14:47 ` Alex Shi
2016-09-20 5:15 ` Tsugikazu Shibata
2016-09-21 8:46 ` Alex Shi
2016-09-13 12:25 ` Geert Uytterhoeven
2016-09-13 19:21 ` Mark Brown
2016-09-14 1:49 ` Greg KH
2016-09-14 3:00 ` Guenter Roeck
2016-09-12 4:12 ` Alex Shi
2016-09-12 16:09 ` Masami Hiramatsu
2016-09-13 2:39 ` Alex Shi
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=20160904235157.dyyevfr5wbasi7aq@thunk.org \
--to=tytso@mit.edu \
--cc=James.Bottomley@hansenpartnership.com \
--cc=amit.kucheria@linaro.org \
--cc=gregkh@linuxfoundation.org \
--cc=ksummit-discuss@lists.linuxfoundation.org \
--cc=ltsi-dev@lists.linuxfoundation.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