From: Jani Nikula <jani.nikula@linux.intel.com>
To: Lukas Wunner <lukas@wunner.de>, Emil Velikov <emil.l.velikov@gmail.com>
Cc: ML nouveau <nouveau@lists.freedesktop.org>,
"intel-gfx@lists.freedesktop.org"
<intel-gfx@lists.freedesktop.org>,
ML dri-devel <dri-devel@lists.freedesktop.org>
Subject: Re: [Intel-gfx] [Nouveau] [PATCH v4] vga_switcheroo: Add helper for deferred probing
Date: Mon, 23 May 2016 13:15:29 +0300 [thread overview]
Message-ID: <87d1oddqri.fsf@intel.com> (raw)
In-Reply-To: <20160521140847.GA4523@wunner.de>
On Sat, 21 May 2016, Lukas Wunner <lukas@wunner.de> wrote:
> Hi Emil,
>
> On Fri, May 20, 2016 at 12:41:04AM +0100, Emil Velikov wrote:
>> On 19 May 2016 at 15:39, Lukas Wunner <lukas@wunner.de> wrote:
>> > +bool vga_switcheroo_client_probe_defer(struct pci_dev *pdev)
>> > +{
>> > + if ((pdev->class >> 8) == PCI_CLASS_DISPLAY_VGA) {
>> Not sure if we want/need this, yet at least. This changes behaviour
>> which is not what refactoring patches should be doing, right ? if
>> needed it ought to be a separate patch, imho.
>
> Well, the commit message doesn't claim "no functional change", does it?
>
> Daniel Vetter explicitly wanted the ability to use the helper in
> vga_switcheroo audio clients, and those shouldn't run the apple-gmux
> test. I think it makes sense to enclose it in the above-quoted if-block
> *now* even though it's not needed. Once someone adds a check for an
> audio client, chances are they'll forget to add this if-block.
Please always keep functional changes separate from non-functional
refactoring. Combining them into one just makes everyone's life
harder. This may seem like a simple case here, but you should get into
the habit and stick to it.
If you do a non-functional refactoring change, it's easy for people to
review that change. I could've reviewed your patch in a few minutes;
that's what I was in fact going to do until I stumbled on the functional
change. Maybe I don't have the time to dig all the implications in that
change right now. Bummer.
If you do a non-functional refactoring change, and claim it's
non-functional in the commit message, it'll help anyone landing on that
commit as a result of bisecting a regression. Either the bisect was
bogus, or your patch was unintentionally functional after all. Either
should be easier to verify than a combined change.
If you do the functional change separately, and that regresses, you
don't have to throw out perfectly good refactoring changes when you
revert the functional change. Or maybe the refactoring change doesn't
revert anymore, and you'll have to do a more involved fix on top. It's
easy to do reverts of clearly regressing commits, even by people who
don't fully understand everything about the commit. Anything more is
harder. Not rocket science, but it just adds up to the burden of the
already swamped maintainers.
Usually, like here, you should do the non-functional refactoring first,
and then the functional change on top. The notable exception to this is
when the functional change is a fix, especially of the kind that may
need to get backported. Then you should do the fix first, even if it's
harder and more verbose that way, because you don't want to add a stable
backport dependency on a refactoring commit (which may exceed stable
patch limits) and the stable maintainers frown upon manually backported
patches.
> Fair enough, I've changed it to match PCI_BASE_CLASS_DISPLAY
> and sent it out as v5 a few minutes ago.
Please make that a v6 and split up the patch.
Thanks,
Jani.
--
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
prev parent reply other threads:[~2016-05-23 10:15 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-19 14:39 [PATCH v4] vga_switcheroo: Add helper for deferred probing Lukas Wunner
[not found] ` <35e4cc1e5c711fa30c3081dc628ce672a0fea276.1463642956.git.lukas-JFq808J9C/izQB+pC5nmwQ@public.gmane.org>
2016-05-19 23:41 ` Emil Velikov
2016-05-21 14:08 ` [Nouveau] " Lukas Wunner
2016-05-23 10:15 ` Jani Nikula [this message]
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=87d1oddqri.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=emil.l.velikov@gmail.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=lukas@wunner.de \
--cc=nouveau@lists.freedesktop.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).