All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lars Kurth <lars.kurth@xen.org>
To: Ian Campbell <Ian.Campbell@citrix.com>,
	Artem Mygaiev <artem.mygaiev@globallogic.com>
Cc: Dario Faggioli <dario.faggioli@citrix.com>,
	xen-devel@lists.xen.org, Ian Jackson <Ian.Jackson@eu.citrix.com>,
	David Vrabel <david.vrabel@citrix.com>,
	Andrii Tseglytskyi <andrii.tseglytskyi@globallogic.com>
Subject: Re: [Need Input] (informal) Automotive PV drivers subproject request
Date: Fri, 06 Jun 2014 14:05:32 +0100	[thread overview]
Message-ID: <5391BC9C.40503@xen.org> (raw)
In-Reply-To: <1402045192.29759.31.camel@kazak.uk.xensource.com>


[-- Attachment #1.1: Type: text/plain, Size: 6077 bytes --]

On 06/06/2014 09:59, Ian Campbell wrote:
> On Thu, 2014-06-05 at 13:47 +0100, Artem Mygaiev wrote:
>
>>>> [need input] Should these be owned by a separate subproject or
>>>> attached to an existing subproject (e.g. the Hypervisor project)
>>>>
>>> So, I may be very wrong and/or missing something but I think we should
>>> distinguish between what code/changes are required in Xen and what
>>> outside from it.
>>>
>>> It would, probably, be useful to have a more clear view of that. What
>>> I'm thinking is, for each one of these new drivers, what are the
>>> modifications required in Xen, and what instead lives in the various
>>> OSes? Since we're talking about backends and frontends, I expect the
>>> latter for most of the code.
>> We tend to separate Xen core changes and PV drivers changes. Xen changes
>> are always posted separately, our intention is to upstream everything
>> that makes sense to have in the mainline (i.e. no hacks, workarounds,
>> etc. - that must not leave staging tree)
> I'm a bit concerned about this, since it sounds to me like it will
> eventually result in an automotive fork of xen.git.
I don't think this is the intention and *should not* be the intention. 
We are mixing up a long-term-home for official Xen Project PV drivers 
that don't fit elsewhere, such as
* QNX
* Maybe Linux user drivers (still waiting David Vrabel's view elsewhere 
on this thread)
* Other OS'es
which is the subject of this discussion.

Officially supported Xen Project repositories should only depend on 
*upstreams* (Xen, Linux, ...). As we are talking about 
git://xenbits.xen.org/pvdrivers.git here (as suggested by Aertem), 
whatever is in that repo (owned by a subproject) should build and work 
with vanilla Xen and Linux.

For everything else - call it a personal or integration tree - we have 
git trees in git://xenbits.xen.org/people/* ... a bit more below.

>>> I'm saying/asking this because, if the latter is the case, there seems
>>> to be no need for any alternative xen.git, mirroring Xen's code or
>>> anything. As said above, if something has to change in Xen, that should
>>> go through upstream.
>>> Probably, personal branches on xenbits for a few Globalogic contributors
>>> could help the upstreaming process, in which case I hope they can get
>>> them, but nothing more than that... Or, perhaps, I am missing or
>>> misreading something badly? :-)
>> You are absolutely right, but as I wrote above, we would like to suggest
>> having a staging tree for automotive/embedded stuff.
> Can't individual developers simply keep stuff in their personal trees or
> branches? If it then goes upstream that's great, but if it is an
> unsuitable "hack" then keeping it in a persons tree instead of in some
> formal subproject tree will neuter the possibility of an unintentional
> fork occurring.
I suppose the confusion comes from terminology here. The GlobalLogic 
guys talk about "integration" trees, which in practice (I believe) have. 
They just happen to be the personal branches of Xen committers under 
git://xenbits.xen.org/people/*

So there are several ways of how this could be handled:
* GlobalLogic nominates one person (let's say Andrii as an example) and 
we may have git://xenbits.xen.org/people/andrii/xen.git, 
git://xenbits.xen.org/people/andrii/linux.git and 
git://xenbits.xen.org/people/andrii/pvdrivers.git which in essence 
becomes the "integration tree" for automotive/embedded work
** A slight variant may be to group people by interest, e.g. 
git://xenbits.xen.org/people/embedded or 
git://xenbits.xen.org/embedded/people to make it easier to spot who 
works on what - and assume that if there was no qualifier they work on 
the hypervisor. We had done this for Hg in the past with XCP: so this is 
not entirely new.
* Or we could create something like 
git://xenbits.xen.org/integration/pvdrivers/*.git or 
git://xenbits.xen.org/people/integration/pvdrivers/*.git which may be 
shared by several people, but these could be treated as if they were in 
"people".
* Or a combination of the above

They may be subtle differences in "risks" of creating a fork, but on the 
other hand GlobalLogic already has it's own non-public fork within their 
org. In reality we are all working on ensuring there is no fork in the 
long-run.

@Ian Jackson: this probably needs to be resolved before we create the 
personal branches for GlobalLogic, as the two things are dependant.

>>> This lead us to where the actual code of the frontends and backends
>>> --i.e., the component _outside_ Xen-- should live. In the best possible
>>> world, the answer would be upstream Linux, upstream QNX, etc. However
>>> (although I think that should be the long term goal), I appreciate that
>>> such thing can take a while to actually happen. In the meanwhile, it
>>> would be great to have the code somewhere, so that people can download
>>> it, compile it, and run it in their Dom0 and guest of choice. For this,
>>> I totally see how a (sub)project repo (the 'pvdrivers' repo we were
>>> talking about above) can help.
>> Correct, this is our intention. Also, we dont think that QNX will ever
>> accept our code :) They are too OSS un-friendly...
> I think you need to decide the correct home on a per-OS basis.
It seems there seem to be agreement that per-OS is the best way forward

> e.g. Linux and BSD are OSS (and contribution) friendly so driver changes
> to those should always be done in the appropriate upstream, and
> therefore you don't require a subproject tree for them (individual
> developers can still have personal staging trees of course).
Can someone enlighten me why Linux user-space drivers may be different? 
This has come up at the BoF at the Dev Summit and also in this thread 
and is the only area where there is no full agreement on the way forward.

> If something like qnx is not OSS/contribution friendly then clearly does
> need it's own tree in the subproject. I think it would be up to you if
> you wanted to have a tree per-OS in that class or a single shared tree
> for all of them.
Sounds reasonable

Lars

[-- Attachment #1.2: Type: text/html, Size: 12482 bytes --]

[-- Attachment #2: Type: text/plain, Size: 126 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

  reply	other threads:[~2014-06-06 13:05 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-04 13:04 Automotive PV drivers project request Artem Mygaiev
2014-06-04 14:22 ` [Need Input] (informal) Automotive PV drivers subproject request Lars Kurth
2014-06-04 16:35   ` Dario Faggioli
2014-06-05 12:47     ` Artem Mygaiev
2014-06-05 13:32       ` Dario Faggioli
2014-06-06  8:59       ` Ian Campbell
2014-06-06 13:05         ` Lars Kurth [this message]
2014-06-06 15:08           ` Ian Campbell
2014-06-06 19:49             ` Artem Mygaiev
2014-06-06 22:01               ` Dario Faggioli
2014-06-09 10:18                 ` Stefano Stabellini
2014-06-09 12:25                   ` Lars Kurth
2014-06-09 12:30                     ` Ian Campbell
2014-06-09 13:14                       ` Lars Kurth
2014-06-09 12:37                     ` Lars Kurth
2014-06-09 13:12                       ` Ian Jackson
2014-06-09 13:31                         ` Lars Kurth
2014-06-10 14:22                           ` Artem Mygaiev
2014-06-10 14:51                             ` Lars Kurth
2014-06-09 12:15               ` Lars Kurth
2014-06-11 11:37       ` Lars Kurth
2014-06-04 14:36 ` Automotive PV drivers project request Roger Pau Monné
2014-06-04 15:21   ` [Need Input] (informal) Automotive PV drivers subproject request Lars Kurth
2014-06-04 15:34     ` Roger Pau Monné
2014-06-05 13:07       ` Artem Mygaiev
2014-06-05 13:17 ` Automotive PV drivers project request David Vrabel
2014-06-05 13:22   ` Artem Mygaiev
2014-06-10 12:38     ` David Vrabel
2014-06-10 14:09       ` Lars Kurth
2014-06-10 14:18         ` Artem Mygaiev
2014-06-11 10:10           ` Stefano Stabellini
2014-06-11 15:08             ` Automotive PV drivers project request (need more input) Lars Kurth
2014-06-12  9:34               ` Stefano Stabellini
2014-06-12 13:43                 ` Paul Durrant

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=5391BC9C.40503@xen.org \
    --to=lars.kurth@xen.org \
    --cc=Ian.Campbell@citrix.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=andrii.tseglytskyi@globallogic.com \
    --cc=artem.mygaiev@globallogic.com \
    --cc=dario.faggioli@citrix.com \
    --cc=david.vrabel@citrix.com \
    --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.