Re: linux-next: manual merge of the staging tree with thetarget-merge tree

From: Nicholas A. Bellinger
Date: Sun Jul 22 2012 - 17:44:34 EST


On Sat, 2012-07-21 at 19:07 -0700, Greg KH wrote:
> On Fri, Jul 20, 2012 at 09:42:28PM +0300, Michael S. Tsirkin wrote:

<SNIP>

> > It's very similar to how it was with nouveau: we are not sure
> > we can commit to the userspace ABI yet.
>
> Then you are in trouble :)
>

I agree with MST here that tcm_vhost needs a clear way to indicate that
ABI changes are likely to occur in transmit from staging -> post-staging
status.

> > Most importantly, it still seems not 100% clear whether this driver will
> > have major userspace using it. And if not, it would be very hard to
> > support a driver when recent userspace does not use it in the end.
> >
> > At the moment arguments on upstream mailing list seem to be
> > a bit circular: there's no module in upstream kernel so
> > userspace does not want to accept the patches.
> >
> > If we put enabling this driver in staging, then it works out in one of
> > two ways
> > - userspace starts using it then this effectively freezes the ABI and
> > we move it out of staging next release
> > - no userspace uses it and we drop it completely or rework ABI
> >
> > On the other hand, it is marginally better to not want code in staging
> > for two reasons:
> > - there are dependencies between this code and other code in
> > drivers/vhost which are easier for me to handle if it's all
> > in one place
>
> If there are going to be lots of dependancies, then I don't want it in
> drivers/staging/ as it doesn't belong there, it belongs cleaned up and
> in the "real" place.
>
> > - a bit easier to track history if we do not move code
>
> git preserves this, don't worry about that at all.
>
> So, if this code really does depend on core vhost changes that are going
> to be happening over time, I would not recommend it being in
> drivers/staging/ as you are right, you are going to have a hard time
> syncing with me.
>

So Linus has merged target-pending/for-next this afternoon, so now we
are just waiting on net-next to hit mainline with the vhost patches
already ACK'ed by MST. Hopefully that makes things easier for you to
considering taking tcm_vhost upstream via staging. ;)

Also, MST asked for an RFC-v5 for the initial merge commit with some
minor debug wrapper changes that will be going out next week. This will
include a move into drivers/staging/tcm_vhost/ against a rebased
staging.git patch with the necessary -rc0 mainline dependencies.

Please let me know if your OK with this, otherwise I'll just plan to
keep -v5 against target-pending/for-next-merge for now, and send a GIT
PULL after MST gets back from holiday on the 29th -> 30th.

> But don't think that by somehow marking the driver with CONFIG_STAGING
> that you get a free pass on the "we are going to break the userspace
> api", that's not ok. Be careful about this. Yes, it's tough, and it's
> a "chicken and egg" problem like you mention above, I know.
>

After sleeping on this, I'm wondering if there is not something else we
could do at the QEMU level to require an explicit 'development=1' flag
in order to use vhost-scsi while tcm_vhost is still marked as staging
code..?

QEMU folks, would you be open to something like this..?

Thank you,

--nab

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/