On Sat, Apr 2, 2011 at 12:46 PM, Eric Miao <eric.m...@linaro.org> wrote:
> On Sat, Apr 2, 2011 at 6:05 AM, Nicolas Pitre <nicolas.pi...@linaro.org> 
> wrote:
>> On Sat, 2 Apr 2011, Eric Miao wrote:
>>
>>> Yeah, staging is more close to what I meant, a 'fork' is not appropriate 
>>> here,
>>> as getting the support into mainline will always be our goal. Yet there 
>>> seems
>>> to be necessary to have such a temporary place for those patches to live
>>> before the mainline is in a good enough shape.
>>
>> No, that won't solve the problem.  Patches will simply be pushed to that
>> temporary place and rot there while their authors have moved on to the
>> next SOC revision to enable.

My argument is that patches won't rot here. Patches rot in a kernel
tree that is derived from our member SoC's BSP and pushed nowhere
and very few developers involved as a pet project. Yeah, this reminds
me of the zaurus 2.4 kernel tree. But it's a different case here, we
have our members involved, and what we are going to support are
those boards that's widely available and there's a community working
on, we definitely don't want to merge all the craps that could be out
of maintenance.  And that we provide a playground so the kernel is
actually usable with Ubuntu or Android, which in the contrary makes
it easier to test and validate and get the patches mainlined.

But I don't believe what we're doing

>>
>> The problem is more fundamental due to the lack of better common
>> infrastructure.  We must come to a point where SOC code is obvious to
>> write and right from the start.  That's the only solution that scales.
>>
>
> I understand it could be even worse to have a temporary place. Yet there
> is indeed a timeline gap before a generic enough infrastructure could be
> implemented, and please Linus and everyone.  I noted some of my ideas in
> my mind last night below:
>
> The major problem I see now is the ever increasing support for more ARM
> SoC and more platforms, yet the mainline kernel so far is not in a good
> shape for this scalability, not at least until the below features are
> completed:
>
>  * Device tree for hardware abstraction
>  * Single kernel binary for most SoCs/boards
>  * And very hardware specific code moved out to a controllable place,
>    i.e. something like BIOS
>
> So that the kernel can be generic enough. There is a time gap before
> all these could be done. Thus, I'm thinking of a staging kernel tree
> that:
>
> 1. Merges support for more ARM SoCs and platforms
>
> 2. Code for different SoCs and boards do not conflict and impact each
> other, they live in a single branch
>
> 3. Will have a certain level of code quality, at least conforming to
> mainline kernel code quality, however, upstreamable, upstreamed or
> Acked-by mainline maintainers might be too strict here
>
>   e.g. Most of Freescale's BSP code is quite in a good shape already,
>   but won't probably make upstream maintainer happy in every place.
>   Yet I believe it deserves a place somewhere, not only on freescale's
>   extranet.
>
> 4. This kernel tree should be as much full feature as possible, unless
> some driver code quality doesn't conform
>
> 5. A usable Ubuntu kernel package, an Android kernel image or a kernel
> image for the LEBs that we will support could be automatically generated
> from this tree, daily build and automation test would make every player
> here happy
>
> 6. The tree will be sync'ed with mainline kernel constantly, I believe
> what Nico is doing is already very perfectly, that we will have:
>
>   linux-linaro-2.6.38
>   linux-linaro-2.6.39
>   ...
>
> Our members are always busy working on kernel upgrade by their own,
> and each upgrade they chose a kernel version based on customer's or
> distro kernel's requirement. And they would normally be facing with
> a big kernel version delta, and make their upgrade a great pain.
>
> If there is already a Linaro kernel that's very usable and we help
> sync with every mainline kernel release, this will definitely make
> them happy.
>
> Keeping track to every mainline kernel release would also make the
> whole upgrade easier, because the delta would be much smaller.  But
> that of course Linaro will have to do more work, which I think could
> be part of the landing team job.  Even if we do little or none here,
> the upgrade itself, and the daily build and automation test would
> provide a great feedback to our members.
>
> 7. Due to a certain level of code requirement here, it could be the
> case that SoC member still need put something on top, e.g. some
> dirty patches which are necessary but could make other SoCs unusable,
> and they still need their own BSP kernel. However, in this case, they
> are losing nothing, because the only difference for them in this case
> is to base on a Linaro kernel or a mainline kernel.
>
> 8. For our SoC member's customers, they can either get a kernel from
> our members, or from Linaro. And for those very small customers that
> our members have no resource to support, they don't normally care if
> a kernel is coming from mainline or from Linaro, as long as it's
> usable.
>
> 9. And again, upstreaming effort to mainline remains unchanged, and
> this tree could serve as a great starting point.
>
> But this would definitely increase the maintainance effort. (I'm looking
> at Nico :-)
>
> So I think the Landing team could definitely help to get in our member's
> kernel support in there, as this increases our member's value.
>
> - eric
>
>
>
>>
>> Nicolas
>>
>> _______________________________________________
>> linaro-dev mailing list
>> linaro-dev@lists.linaro.org
>> http://lists.linaro.org/mailman/listinfo/linaro-dev
>>
>

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

Reply via email to