public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Fitzhardinge <jeremy@goop.org>
To: Adrian Bunk <bunk@kernel.org>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Tobias Powalowski <t.powa@gmx.de>, Takashi Iwai <tiwai@suse.de>,
	Christoph Hellwig <hch@infradead.org>,
	Zachary Amsden <zach@vmware.com>
Subject: Re: [PATCH] x86/paravirt: revert exports to restore old behaviour
Date: Wed, 28 Nov 2007 13:15:39 -0800	[thread overview]
Message-ID: <474DDA7B.9090802@goop.org> (raw)
In-Reply-To: <20071128204050.GA29463@stusta.de>

Adrian Bunk wrote:
> On Tue, Nov 27, 2007 at 02:57:30PM -0800, Jeremy Fitzhardinge wrote:
>   
>> ...
>> Christoph Hellwig objects to this patch on the grounds that modules
>> shouldn't be using these operations anyway.  I don't think this is a
>> particularly good reason to reject the patch, for several reasons:
>>
>> 1. These operations are still available to modules when not using
>>    CONFIG_PARAVIRT, since they are implicitly exported as inline
>>    functions via the kernel headers.  Exporting the same functionality as
>>    GPL-only symbols just adds a gratuitious difference between
>>    CONFIG_PARAVIRT and non-CONFIG_PARAVIRT configurations.  If we really
>>    think these operations are not for module use (or non-GPL module use),
>>    then we should solve the problem in a general way.
>>     
>
> Current practice in the kernel is that when something that should not be 
> done works by chance with some kernel versions and/or configurations 
> that's simply an unfortunate fact that should be fixed but doesn't 
> result in any guarantee that it works with all kernel versions and/or 
> configurations.
>   

Well, I suppose, but there's nothing particularly "internal" about the
functions that these modules want to get access to.  They are the proper
API functions for doing what the modules want to do.

And we have enough weird little config-dependent corners of the kernel
API that complicate testing; I don't think we need to knowingly
introduce more.

>> 2. It's a regression from previous kernels, which would work these
>>    modules even with CONFIG_PARAVIRT enabled.
>> ...
>>     
>
> It cannot be a regression since the kernel does not have a stable API 
> for modules.
>   

Anything that once worked but now does not is a regression.  Generally
when we intend a regression like this, we call it a deprecation of an
interface and have a procedure for that.  It was not my intention to
cause a regression with this change, and an unintended regression is a bug.

>> Therefore, I think this patch should go in for 2.6.24.  If people
>> really think that these operations should not be available to modules,
>> then we can address that separately.
>> ...
>>     
>
> Why should we start with one step back for getting two steps ahead?
>   

Why is it a step back?  What are the steps ahead?  There's been no
discussion on this point, so I don't think you can assume there's a
clear way forward.

I think Linus and Andrew have been pretty clear on the policy for these
kinds of things: regressions are always bad, even if fixing the
regression means some other bugfix needs to be put off.

    J

  reply	other threads:[~2007-11-28 21:18 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-27 22:57 [PATCH] x86/paravirt: revert exports to restore old behaviour Jeremy Fitzhardinge
2007-11-28 20:40 ` Adrian Bunk
2007-11-28 21:15   ` Jeremy Fitzhardinge [this message]
2007-11-28 22:39     ` Adrian Bunk
2007-11-28 23:57       ` Jeremy Fitzhardinge
2007-11-29 22:06         ` Adrian Bunk
  -- strict thread matches above, loose matches on Subject: below --
2007-11-13 10:39 REGRESSION: 2.6.24 breaks nvidia and amd/ati binary drivers, by exporting paravirt symbols as GPL Tobias Powalowski
2007-11-13 20:21 ` [PATCH] x86/paravirt: revert exports to restore old behaviour Jeremy Fitzhardinge
2007-11-13 22:22   ` Christoph Hellwig
2007-11-14  0:51     ` Zachary Amsden
2007-11-19 17:05       ` Takashi Iwai
2007-11-20  1:14         ` Jeremy Fitzhardinge
2007-11-20  6:25           ` Takashi Iwai
2007-11-14  1:22     ` Jeremy Fitzhardinge

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=474DDA7B.9090802@goop.org \
    --to=jeremy@goop.org \
    --cc=akpm@linux-foundation.org \
    --cc=bunk@kernel.org \
    --cc=hch@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=t.powa@gmx.de \
    --cc=tiwai@suse.de \
    --cc=zach@vmware.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox