On Wed, Apr 18, 2012 at 7:39 PM, Andy Green <andy.gr...@linaro.org> wrote:
> On 04/18/2012 08:39 PM, Somebody in the thread at some point said:
>> On Wed, Apr 18, 2012 at 3:04 AM, Andy Green <andy.gr...@linaro.org
>> <mailto:andy.gr...@linaro.org>> wrote:
>>
>>     On 04/18/2012 06:16 AM, Somebody in the thread at some point said:
>>
>>     Hi -
>>
>>     > I've pushed the current linux-linaro tree
>>     > to git://git.linaro.org/kernel/linux-linaro-tracking.git
>>     <http://git.linaro.org/kernel/linux-linaro-tracking.git> , linux-linaro
>>     > branch.
>>     >
>>     > This is still work in progress, and it misses few topics. But due to
>>     > limited access to hardware at the moment it would be good to try it
>>     > sooner than later on vexpress and origen at least. (I have only
>>     panda on
>>     > hand). Minimal boot test has been passed on the panda, though I had to
>>     > disable CPUFREQ for the board to boot (haven't looked deeper yet).
>>     >
>>     > Not included are the following topics present in the 12.03 release:
>>     > * tracking-linaro_cpuidle: there are conflicts when rebasing it to
>>     > v3.4-rc3. The topic owner has been notified, and should tell me how to
>>     > proceed.
>>     > * tracking-umm-3.3-wip: this one seems to be in v3.4-rc3 mainline
>>     tree,
>>     > correct?
>>     > * tracking-linaro-android-3.4: I've tried it with a smaller subset of
>>     > the topics (w/o LT's ones), and it merged ok, but there are some
>>     > conflicts with the LT's stuff as it seems. Will have a deeper look
>>     > tomorrow. No action from John is required at the moment.
>>     >
>>     > Here is the list of the topic included into this tree currently:
>>     > # integration <name> <base> <topic1> <topic2> ... <topicN>
>>     > # - the merge order is <topic1> to <topicN>.
>>     > integration linux-linaro v3.4-rc3 ufs emmc thermal_exynos4_imx6
>>     > linaro-configs-3.4 armlt-hdlcd armlt-mmc armlt-arm-arch-fixes
>>     > armlt-misc-fixes armlt-ubuntu-config armlt-android-config armlt-gator
>>     > samslt-base samslt-core samslt-bl samslt-dt samslt-fb samslt-pd
>>     > samslt-rtc samslt-s2ram samslt-asv_cpufreq thermal_exynos4_imx6
>>     > samslt-led samslt-dummy_reg samslt-gadget samslt-touch samslt-wlan
>>     > samslt-audio samslt-hdmi samslt-mali samslt-cma_v24 unsorted
>>     >
>>     > Where the topics are:
>>     > # topic <local branch> <remote/branch> <topic base>
>>     > # - <base> must be another topic
>>     > # Example1: tracking-armlt-gator lt_arm/tracking-armlt-gator
>>     > #    - missing <topic base> here assumes the mainline Linus tree.
>>     > #
>>     > # ARM LT topics:
>>     > topic armlt-hdlcd lt_arm/tracking-armlt-hdlcd
>>     ...
>>
>>     > # Samsung LT topics:
>>     > topic samslt-base lt_samsung/topic/base
>>     > topic samslt-asv_cpufreq lt_samsung/topic/asv_cpufreq samslt-base
>>     ...
>>
>>     What's the plan for this new linux-linaro approach of putting LT trees
>>     in there?
>>
>>     Previously, until 3.2 when I tried to change base to it anyway,
>>     linux-linaro was like flavouring, it had a bunch of goodies we could add
>>     to our vanilla LT trees and we got
>>
>>     Has it changed approach to be the combined tree now?  So there is no
>>     longer a flavouring tree we can use to get the goodies from without
>>     having to deal with an increasing number of LT trees merged as well?
>>     (Or if it changed name to another branch, fine, but what is it)
>>
>>     If so that will make things complicated to synchronize the LT trees you
>>     intend to bind here, to ensure they're all working with same UMM
>>     revision you mandate, etc before the binding.
>>
>> linux-linaro combines all topics that are registered and in our
>> manifest. We don't restrict ourselves to non-enablement topics.
>
> OK, so this is a major change to what linux-linaro was before.

While this is different, it's not entirely different from what we had
before. The major change here is that we're accepting a broader range
of topics, but in the end it'll also depend a lot on what is currently
being worked on by each LT and WG.

> I think you find it will have been better to stick with generating a
> separate flavouring tree without unification content, because you have
> created a chicken-and-egg situation now.

I think that will depend a lot of the topic list and the respective
content. While some topics are easy to identify as enablement, and
with good possibilities to have conflicts or broken/bad solution,
there's no simple way to classify topic types/groups.

In the past we also wanted to publish most branches we could at
linux-linaro, even from all the LTs, but unfortunately that didn't
happen as expected and we ended up just with core changes.

>> Actually, we always wanted enablement to be part of it and since we want
>> to learn what that means we decided to pick up a few pilot enablement
>> topics.
>>
>> I guess the pure WG flavored tree you are looking for is not produced in
>> a direct manner, but you can probably just pull in the topics from our
>> linux-linaro manifest by stripping the other LT topics.
>
> As I pointed out above, the issue is not that I happen to be looking for
> WG content, but that if you will bind together multiple LT trees they
> have to have a chance to converge on what ingredients you are mandating.
>
> CMA is a good example, even in TI people have multiple trees with their
> stuff working only on particular versions of CMA series.  Because I
> guess all the LT trees will currently have their own CMA, you stand no
> chance to bind them together in a unified tree unless they all agree to
> work on a single CMA version.  It's not just CMA but other prerequisites
> like dmabuf, UMM pieces or whatever else is not-quite-in-mainline-yet.
> Sometimes that's turnkey but other times, uplevel in LT tree to what you
> want them to use may be nontrivial or involve politics or domain experts
> that don't want to do it.  If it interacts with third-party code like 3D
> unit driver, it may not even be possible to do it on a given timescale
> for a given LT.

This kind of conflicts will for sure happen once we start merging
topics from different LTs. I believe we just need to make a clear
statement on how we're planning to deal with conflicts, and how the
LTs can use the current linux-linaro as based when checking for such
conflicts, problems.

From the maintainer pov it's hard to decide what to do in such cases.
Currently we're working on a first-come, first-served model, and
getting the list of branches/topics per WG and LT. Once we start
having major conflicts, it'll be up to the maintainer to either drop
both branches/topics, or select the one that looks more promising from
the upstreaming pov.

Without having a strong maintainer, that would work with the topic
maintainers to find the best way to solve the conflicts, I don't think
there's an easy way to get this going.

At the same time, we'll be also publishing tools and pointers to every
branch we're integrating and why, so the LT/WGs can use a subset while
working on their topics until they can be integrated at the same
basiline.

> Since there will likely be multiple common ingredients like that, you
> need to provide the LTs with a flavouring tree for test so they can move
> towards sync against the mandated ingredient versions (hopefully, the
> latest stuff that works in each case).  Otherwise, you don't give LTs a
> chance to converge or even test with your ingredients (not to mention
> forward planning so we can recruit help from domain experts at better
> than zero notice).  That's the chicken-and-egg if your ingredients are
> only coming at post-unification tree how are we meant to prep our LT
> trees to combine smoothly?
>
> Putting one LT tree in there (arm lt content is orthogonal to full tree)
> is the degenerate case that won't expose these issues.

But then how would you deal with the current topics list? How to
identify which topics/branches we want to integrate at the common
baseline? Would be enough if we publish the tools to do the
branch/topics permutation for you to be able to validate your own
work?

>> On the general point of conflicts through putting multiple hw enablement
>> together: We have discussed a feature of "conflicting" topics that would
>> mitigate the problem by producing a tree for each topic that has
>> conflicts that leaves out the conflicting topics. At this point in time,
>> we cannot handle conflicting topics yet ... our tools have to get in
>> shape for that first and we expect to be closer to such a point by Connect.
>>
>> Last: ultimately we hope that putting things together will ensure that
>> we figure out how to stay aligned and non conflicting. I think it's an
>> important exercise to go through and learn from.
>
> Sticking one LT tree in there is not putting anything together.
>
> Back in Dec I put 4 LT trees together and got interesting results (trees
> with mali in did not test it deconfigured, various other small issues
> about config defaults not making sense if SoC ARCH not also enabled,
> some LTs had mmc core code patches) but they were ignored.  This effort
> at HEAD is great but you can enable the LTs to get ahead of the problems
> that are coming by doing what I did in Dec, a test combine of all LT
> trees at v3.3.  Then we can say we are actually "putting things together".

I don't see why we can't have both, and why enabling one LT would put
the others in risk, if we're able to work together deciding what makes
sense to be applied and what should be removed/re-worked.

The current tree is still useful in many ways, and it also helps
showing and getting the conflicts at the same time we have people
working directly on them. With one strong maintainer, and enough
discussions with the topic owners, I don't see that this tree will be
useless to the point of being just a dump of what Linaro is currently
working on.

Get your list of topics, and check how it goes with the current tree.
Test it yourself first, and then propose the branches/topics that you
think it'd be useful to be integrated at the common baseline. That
will help fixing the issues before going upstream, and getting the
same enablement fixes across LT/WGs.

You need to remember that this tree will be used and tested by mostly
everyone working on kernel development inside Linaro. This will also
be part of the LEBs and tested/verified by the QA team later on.

Cheers,
-- 
Ricardo Salveti de Araujo

_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to