From: Linus Torvalds on


On Thu, 4 Mar 2010, Jesse Barnes wrote:

> On Thu, 4 Mar 2010 10:36:55 -0800
> Jesse Barnes <jbarnes(a)virtuousgeek.org> wrote:
> > Yes Dave probably should have mentioned it in his pull request, but
> > that doesn't seem to be a good reason not to pull imo...
>
> And now I see Dave did mention this, so what gives. Guidance please.

Yeah, it's in the first one. My bad. I didn't notice, because that one got
cancelled for other reasons and never even tested.

That doesn't change the simple basic issue: how are people with Fedora-12
going to test any kernel out now? And are there libdrm versions that can
handle _both_ cases, so that people can bisect things? IOW, even if you
have a new libdrm, will it then work with the _old_ kernel too?

Backwards compatibility is really important.

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Matthew Garrett on
On Thu, Mar 04, 2010 at 10:43:30AM -0800, Linus Torvalds wrote:

> Or is there a version of X that can handle _both_ the 0.0.15 and the
> 0.0.16 interfaces?

When you asked that nouveau was merged, people explicitly told you that
the reason it hadn't been was because the interface was unstable and
userspace would break. You asked that it be merged anyway, and now
you're unhappy because the interface has changed and userspace has
broken?

--
Matthew Garrett | mjg59(a)srcf.ucam.org
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Linus Torvalds on


On Thu, 4 Mar 2010, Matthew Garrett wrote:
>
> When you asked that nouveau was merged, people explicitly told you that
> the reason it hadn't been was because the interface was unstable and
> userspace would break. You asked that it be merged anyway, and now
> you're unhappy because the interface has changed and userspace has
> broken?

How hard is it to understand basic kernel development rules?

Nouveau was in Fedora-12. In fact, it was in Fedora-11 too afaik. People
can hide behind all the "staging" and "I asked for it" things they like,
but that doesn't change simple basic facts: distros should make sure
drivers get merged up-stream, and people end up depending on them.

Btw, I'm hoping some of this pain goes away for me, because I expect to
get rid of the shitty nVidia card reasonably soon. The fact that my main
box had a power supply that literally _required_ a power-sucking-piece-
of-sh*t-graphics card has been painful to me.

But none of that changes my basic objections. I didn't ask for nouveau to
be merged as staging - I asked it to be merged because a major distro uses
it.

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Matthew Garrett on
On Thu, Mar 04, 2010 at 10:55:57AM -0800, Linus Torvalds wrote:
> On Thu, 4 Mar 2010, Matthew Garrett wrote:
> >
> > When you asked that nouveau was merged, people explicitly told you that
> > the reason it hadn't been was because the interface was unstable and
> > userspace would break. You asked that it be merged anyway, and now
> > you're unhappy because the interface has changed and userspace has
> > broken?
>
> How hard is it to understand basic kernel development rules?
>
> Nouveau was in Fedora-12. In fact, it was in Fedora-11 too afaik. People
> can hide behind all the "staging" and "I asked for it" things they like,
> but that doesn't change simple basic facts: distros should make sure
> drivers get merged up-stream, and people end up depending on them.

It takes a long time to work out exactly what kind of userspace
interface you need when the hardware you're dealing with is entirely
undocumented. The reason it's been shipped in Fedora is that it needs to
be in front of actual users in order to get any testing at all, and we
have the manpower to ensure that the dependencies are consistent. But
most nouveau development isn't handled inside Red Hat, and we're in no
position to dictate terms to the volunteers who are spending their spare
time trying to write a useful driver.

> Btw, I'm hoping some of this pain goes away for me, because I expect to
> get rid of the shitty nVidia card reasonably soon. The fact that my main
> box had a power supply that literally _required_ a power-sucking-piece-
> of-sh*t-graphics card has been painful to me.

You'd have hit similar issues if you'd been using Radeon KMS over the
past couple of releases...

> But none of that changes my basic objections. I didn't ask for nouveau to
> be merged as staging - I asked it to be merged because a major distro uses
> it.

It was merged as staging because the interface is unstable, which is
consistent with staging's Kconfig:

"Please note that these drivers are under heavy development, may or may
not work, and may contain userspace interfaces that most likely will be
changed in the near future."

If you'd made it clear that you wanted the interface to be stable
before it got merged, I suspect that it simply wouldn't have been merged
until the interface was stable.
--
Matthew Garrett | mjg59(a)srcf.ucam.org
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Linus Torvalds on


On Thu, 4 Mar 2010, Jesse Barnes wrote:
>
> If marking the driver as staging doesn't allow them to break ABI when
> they need to, then it seems like they'll have no choice but to either
> remove the driver from upstream and only submit it when the ABI is
> stable, or fork the driver and submit a new one only when the ABI is
> stable. Neither seem particularly attractive.

The thing is, they clearly didn't even _try_ to make anything compatible.
See how all the ioctl numbers were moved around.

And if you can't make if backwards compatible, at least you should make it
forwards-compatible. Is it even that? I don't know. I'm kind of afraid it
isn't. The new libdrm required for it certainly hasn't been pushed to
Fedora-12. Will it ever be? And if it is, can you still run an old kernel
on it?

All of these are always possible to do. We've been _very_ good at doing
them in general. I'm complaining, because let's face it, what else can I
do?

And btw, I'd complain about breaking backwards compatibility even if it
wasn't just my own machine. I can pretty much guarantee that I'm not going
to be the only one hitting this issue.

So practically speaking: what _do_ you suggest we do about all the
regressions this will cause?

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