public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: David Brown <davidb@codeaurora.org>
To: Nicolas Pitre <nico@fluxnic.net>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	Russell King - ARM Linux <linux@arm.linux.org.uk>,
	david@lang.hm, Ingo Molnar <mingo@elte.hu>,
	Arnd Bergmann <arnd@arndb.de>, Tony Lindgren <tony@atomide.com>,
	lkml <linux-kernel@vger.kernel.org>,
	linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org,
	Catalin Marinas <catalin.marinas@arm.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [GIT PULL] omap changes for v2.6.39 merge window
Date: Thu, 31 Mar 2011 21:50:58 -0700	[thread overview]
Message-ID: <8ya39m2mv65.fsf@huya.qualcomm.com> (raw)
In-Reply-To: <alpine.LFD.2.00.1103311649450.28032@xanadu.home> (Nicolas Pitre's message of "Thu, 31 Mar 2011 18:49:11 -0400 (EDT)")

On Thu, Mar 31 2011, Nicolas Pitre wrote:

> Leaf nodes on ARM are people coming from corporate background with the 
> old school software development methodologies.  They do it as a _job_ 
> first and foremost.  They only work on Linux because that's what their 
> boss assigned them to. Don't get me wrong: that doesn't mean they are 
> bad people.  Simply that they are not into it for the public recognition 
> (or flaming) from their peers.  Once their code works they lose interest 
> and move on.  That mindset is extremely hard to change and take time, on 
> a scale of years.  Much more time than required to produce the code 
> needed to support that new SOC out of the pipeline.  There are notable 
> exceptions obviously.  But this is still a scalability problem in 
> itself.  So we need men-in-the-middle attacks.

An additional mindset that is difficult to work with in this environment
is that the corporate development methodology has a focus on schedules
and deliverables.  Even people who would otherwise like to contribute
will have pressure to get something done.  Many think of "submit to
mainline" is kind of a last step in a development process, instead of
even a goal to accomplish.

When we push back, there is a good chance they just won't bother, not
because they don't want to do it, but because it doesn't fit a schedule,
and there is already something else for them to work on.

So what's the right answer here.  Practically, someone just sent out a
fairly complete DMA driver for a new MSM device.  Naturally, this
hardware is nothing like anyone else's DMA, but the driver itself pretty
much independent from other kernel APIs.  It isn't even similar to the
existing DMA driver in the MSM.  With it are patches to ifdef-up various
drivers to use the appropriate DMA.

The DMA code, by itself, seems reasonably well written (with some
cleanup and such needed), but it makes everything that uses it messy.
In this particular case, DMA engine will probably need some work to
either incorporate the unique capabilities of this hardware, or at least
allow them to be used.  The author probably won't be able to do this on
their own.

I could pull the driver into the tree, and now we have yet another
driver with yet another API.  If I push back, realistically, it will
probably end up out-of-tree, along with everything that depends on it.

Up until now, it seems that attitude has been that it is better to be
in-tree than out of tree, but are we getting too much stuff to continue
that?

Today, most of the MSM code lives out of tree.  The QuIC tree for MSM
(currently based off of 2.6.35):

  git diff --stat v2.6.35..HEAD | tail -1
   3432 files changed, 1144473 insertions(+), 17315 deletions(-)
  git diff --stat v2.6.35..HEAD arch/arm/mach-msm | tail -1
   595 files changed, 286054 insertions(+), 1928 deletions(-)

There's a large amount of work just to get the code up to kernel
standards (the coding style has been fairly well enforced), and there is
constant development for new hardware.

Thanks,
David Brown

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

  parent reply	other threads:[~2011-04-01  4:49 UTC|newest]

Thread overview: 159+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-17 18:30 [GIT PULL] omap changes for v2.6.39 merge window Tony Lindgren
2011-03-18  2:50 ` Linus Torvalds
2011-03-18  7:06   ` Tony Lindgren
2011-03-18 10:15   ` Russell King - ARM Linux
2011-03-18 11:13     ` Uwe Kleine-König
2011-03-30 17:06     ` Arnd Bergmann
2011-03-30 19:21       ` Linus Torvalds
2011-03-30 20:41         ` Nicolas Pitre
2011-03-30 21:02           ` Linus Torvalds
2011-03-30 23:31             ` Nicolas Pitre
2011-03-30 23:59               ` Russell King - ARM Linux
2011-03-31  0:15                 ` Tony Lindgren
2011-03-31  0:31               ` Bill Gatliff
2011-03-31  0:39               ` david
2011-03-31  3:17                 ` Nicolas Pitre
2011-03-31  3:29                   ` Dave Airlie
2011-03-31  4:38                     ` Nicolas Pitre
2011-03-31  9:54                       ` Alan Cox
2011-03-31 10:50                         ` Russell King - ARM Linux
2011-03-31 12:23                           ` Jean-Christophe PLAGNIOL-VILLARD
2011-03-31 12:38                           ` Catalin Marinas
2011-03-31 13:01                             ` Russell King - ARM Linux
2011-03-31 14:55                               ` Bill Gatliff
2011-04-01 12:41                                 ` Arnd Bergmann
2011-03-31 18:12                               ` Sam Ravnborg
2011-03-31 18:17                                 ` Russell King - ARM Linux
2011-03-31 18:34                                   ` Jesse Barnes
2011-03-31 13:54                           ` Thomas Gleixner
2011-03-31 17:22                           ` david
2011-03-31 18:08                             ` Koen Kooi
2011-03-31  5:05                   ` david
2011-03-31  7:15                     ` Nicolas Pitre
2011-03-31  8:06                       ` Ingo Molnar
2011-03-31  8:30                         ` Russell King - ARM Linux
2011-03-31 10:41                           ` Ingo Molnar
2011-03-31 13:25                             ` Russell King - ARM Linux
2011-03-31 12:04                           ` Thomas Gleixner
2011-03-31 14:43                             ` Kevin Hilman
2011-03-31 15:01                               ` Thomas Gleixner
2011-03-31 15:05                                 ` Russell King - ARM Linux
2011-03-31 15:45                                   ` david
2011-03-31 15:23                               ` Arnd Bergmann
2011-03-31 16:58                                 ` Thomas Gleixner
2011-03-31 18:23                                   ` Nicolas Pitre
2011-03-31 18:55                                     ` Thomas Gleixner
2011-04-01 11:32                                   ` Arnd Bergmann
2011-03-31 20:35                                 ` Kevin Hilman
2011-04-01 11:29                                   ` Arnd Bergmann
2011-04-01  7:32                                 ` Tomi Valkeinen
2011-04-01 11:22                                   ` Arnd Bergmann
2011-04-01 11:55                                     ` Tomi Valkeinen
2011-04-01 12:07                                       ` Arnd Bergmann
2011-04-01 12:15                                         ` Tomi Valkeinen
2011-03-31 16:03                           ` david
2011-03-31 16:45                             ` Russell King - ARM Linux
2011-03-31 17:17                               ` Linus Torvalds
2011-03-31 19:25                                 ` Nicolas Pitre
2011-03-31 20:05                                   ` Linus Torvalds
2011-03-31 20:28                                     ` Linus Torvalds
2011-03-31 22:49                                     ` Nicolas Pitre
2011-04-01  0:53                                       ` Mark Brown
2011-04-01  4:50                                       ` David Brown [this message]
2011-04-01  7:45                                         ` Ingo Molnar
2011-04-01 13:54                                           ` Arnd Bergmann
2011-04-01 15:27                                             ` Will Deacon
2011-04-01 15:55                                               ` Arnd Bergmann
2011-04-01 16:39                                                 ` Linus Torvalds
2011-04-03 22:26                                                   ` Benjamin Herrenschmidt
2011-04-05 23:19                                                   ` Linus Walleij
2011-04-06  8:41                                                     ` Catalin Marinas
2011-04-07  1:44                                                       ` Arnd Bergmann
2011-04-01 20:19                                                 ` Nicolas Pitre
2011-04-02  4:38                                                   ` Richard Cochran
2011-04-02  3:27                                                 ` Mark Brown
     [not found]                                             ` <4D95E112.4020400@vollmann.ch>
2011-04-01 14:59                                               ` Arnd Bergmann
2011-04-01 21:10                                                 ` Kevin Hilman
2011-04-01 21:32                                                   ` Arnd Bergmann
2011-04-01 21:51                                                     ` Catalin Marinas
     [not found]                                                 ` <4D95EF8E.9080902@vollmann.ch>
2011-04-01 15:50                                                   ` Arnd Bergmann
2011-04-01 17:44                                                     ` Russell King - ARM Linux
2011-04-01 19:54                                                     ` Nicolas Pitre
2011-04-01 21:00                                                       ` Uwe Kleine-König
2011-04-01 22:08                                                       ` Arnd Bergmann
2011-04-02  2:24                                                         ` Nicolas Pitre
2011-04-03 15:26                                                           ` Arnd Bergmann
2011-04-03 16:03                                                             ` Russell King - ARM Linux
2011-04-04  0:59                                                               ` Arnd Bergmann
2011-04-04  8:26                                                                 ` Marc Zyngier
2011-04-04 11:03                                                                 ` Catalin Marinas
2011-04-04 11:21                                                                   ` Russell King - ARM Linux
2011-04-04 13:24                                                                     ` Marc Zyngier
2011-04-04 13:31                                                                       ` Russell King - ARM Linux
2011-04-04 13:57                                                                         ` Marc Zyngier
2011-04-04 20:08                                                                           ` Linus Walleij
2011-04-05  6:40                                                                             ` Santosh Shilimkar
2011-04-05  7:45                                                                               ` Russell King - ARM Linux
2011-04-05 14:15                                                                                 ` Catalin Marinas
2011-04-05 22:16                                                                               ` Linus Walleij
2011-04-06  6:43                                                                                 ` Santosh Shilimkar
2011-04-05 22:22                                                                               ` Linus Walleij
2011-04-06  6:41                                                                                 ` Santosh Shilimkar
2011-04-05  7:30                                                                             ` Marc Zyngier
2011-05-26 13:38                                                               ` Pavel Machek
2011-04-02  2:59                                                       ` Mark Brown
2011-04-04  5:16                                                   ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-04  9:27                                                   ` Nicolas Ferre
2011-04-03 22:18                                               ` Benjamin Herrenschmidt
2011-04-04  0:14                                                 ` Arnd Bergmann
2011-04-04  2:49                                                 ` Nicolas Pitre
2011-04-06  6:11                                             ` Barry Song
2011-04-06  7:31                                               ` Bryan Wu
2011-03-31 21:40                                   ` Thomas Gleixner
2011-03-31 17:56                             ` Nicolas Pitre
2011-03-31 18:34                               ` Thomas Gleixner
2011-03-31 19:02                               ` Linus Torvalds
2011-03-31  8:09                     ` Russell King - ARM Linux
2011-03-31 10:49                       ` Felipe Balbi
2011-03-31 18:00                       ` Alexander Holler
2011-03-31  5:45               ` Geert Uytterhoeven
2011-03-31  7:21                 ` Nicolas Pitre
2011-03-30 22:08           ` Tony Lindgren
2011-03-30 21:10         ` Thomas Gleixner
2011-03-30 21:54           ` Tony Lindgren
2011-03-30 22:25             ` Thomas Gleixner
2011-03-30 22:45               ` Tony Lindgren
2011-03-30 22:56                 ` Thomas Gleixner
2011-04-01  1:42                   ` Mark Brown
2011-03-30 22:38             ` Paul E. McKenney
2011-03-30 22:47               ` Tony Lindgren
2011-03-30 23:13                 ` Paul E. McKenney
2011-03-30 23:14                 ` Thomas Gleixner
2011-03-30 23:28                   ` Tony Lindgren
2011-03-31 11:00           ` Artem Bityutskiy
2011-03-31 13:54             ` Arnd Bergmann
2011-03-30 21:44         ` Tony Lindgren
2011-03-30 22:20           ` Linus Torvalds
2011-03-30 22:39             ` Tony Lindgren
2011-03-31  0:15         ` Russell King - ARM Linux
2011-03-31  0:55           ` Linus Torvalds
2011-03-31  1:15             ` Bill Gatliff
2011-03-31  1:37               ` Linus Torvalds
2011-03-31  1:44                 ` Bill Gatliff
2011-03-31  1:56                   ` Linus Torvalds
2011-03-31  2:20                     ` Bill Gatliff
2011-03-31  3:24                       ` Linus Torvalds
2011-03-31  6:42                         ` Olof Johansson
2011-03-31  6:56                         ` David Brown
2011-03-31 11:27                         ` Felipe Balbi
2011-03-31 13:39                 ` Thomas Gleixner
2011-03-31  4:09             ` Nicolas Pitre
2011-03-31 10:11               ` Thomas Gleixner
2011-03-30 21:07       ` Russell King - ARM Linux
2011-03-30 22:14         ` Tony Lindgren
2011-04-01  1:17           ` Mark Brown
2011-04-01 14:17         ` Arnd Bergmann
2011-03-18  3:02 ` Linus Torvalds
2011-03-18  7:09   ` Tony Lindgren
2011-03-18  8:06     ` Ohad Ben-Cohen
2011-03-18 23:43       ` Tony Lindgren

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=8ya39m2mv65.fsf@huya.qualcomm.com \
    --to=davidb@codeaurora.org \
    --cc=arnd@arndb.de \
    --cc=catalin.marinas@arm.com \
    --cc=david@lang.hm \
    --cc=hpa@zytor.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=mingo@elte.hu \
    --cc=nico@fluxnic.net \
    --cc=tglx@linutronix.de \
    --cc=tony@atomide.com \
    --cc=torvalds@linux-foundation.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