Re: [PATCH] ARM: Blacklist GCC 4.8.0 to GCC 4.8.2 - PR58854

2014-10-19 Thread Linus Torvalds
On Sun, Oct 19, 2014 at 11:51 AM, Russell King - ARM Linux
li...@arm.linux.org.uk wrote:

 Does that work for things like allnoconfig and randconfig?  I guess people
 /could/ seed those appropriately, but that seems to be something that Olof
 wants to avoid doing.

You can force particular config options for those, using something like

export KCONFIG_ALLCONFIG=custom.config

and filling the custom config file with the required config setting.

So the downside is that you do need to have this custom support to
seed particular things, but yes, it's doable, and it only requires a
one-time setup with an environment variable, so it doesn't need
changes to the actual testing infrastructure.

   Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL] fbdev changes for 3.8

2012-12-15 Thread Linus Torvalds
On Fri, Dec 14, 2012 at 2:22 AM, Tomi Valkeinen tomi.valkei...@ti.com wrote:
 Hi Linus,

 Florian, the fbdev maintainer, has been very busy lately, so I offered to send
 the pull request for fbdev for this merge window.

Pulled. However, with this I get the Kconfig question

   OMAP2+ Display Subsystem support (OMAP2_DSS) [N/m/y/?] (NEW)

which doesn't make a whole lot of sense on x86-64, unless there's
something about OMAP2 that I don't know.

So I'd suggest making that OMAP2_DSS be dependent on OMAP2. Or at
least ARM. Because showing it to anybody else seems insane.

Same goes for FB_OMAP2 for that matter. I realize that it's likely
nice to get compile testing for this on x86-64 too, but if that's the
intent, we need to think about it some more. I don't think it's good
to ask actual normal users questions like this just for compile
coverage.

Hmm?

Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] tty: omap-serial: fix boot hang by converting to use a threaded IRQ handler (was Re: [PATCH] irq: always set IRQF_ONESHOT if no primary handler is specified)

2011-08-23 Thread Linus Torvalds
On Tue, Aug 23, 2011 at 1:57 AM, Alan Cox a...@lxorguk.ukuu.org.uk wrote:
 On Mon, 22 Aug 2011 23:10:21 -0600 (MDT)
 Paul Walmsley p...@pwsan.com wrote:


 Convert the omap-serial hardirq handler to a threaded IRQ handler. Without
 this patch, OMAP boards which use the on-board OMAP UARTs and the
 omap-serial driver will not boot to userspace after commit
 f3637a5f2e2eb391ff5757bc83fb5de8f9726464 (irq: Always set IRQF_ONESHOT if
 no primary handler is specified).  Enabling CONFIG_DEBUG_SHIRQ reveals
 'IRQ handler type mismatch' errors:

 There are multiple other drivers reporting all these problems - the
 faulty irq change should be reverted at this point not the drivers
 fiddled with.

Agreed. It's too late to try to fix random drivers.

The real issue seems to be that clue:

Enabling CONFIG_DEBUG_SHIRQ reveals 'IRQ handler type mismatch' errors

iow, we have a shared irq, and forcing the IRQF_ONESHOT bit is
resulting in those shared interrupts now having different values of
IRQF_ONESHOT, so this test triggers:

/*
 * Can't share interrupts unless both agree to and are
 * the same type (level, edge, polarity). So both flag
 * fields must have IRQF_SHARED set and the bits which
 * set the trigger type must match. Also all must
 * agree on ONESHOT.
 */
if (!((old-flags  new-flags)  IRQF_SHARED) ||
((old-flags ^ new-flags)  IRQF_TRIGGER_MASK) ||
((old-flags ^ new-flags)  IRQF_ONESHOT)) {
old_name = old-name;
goto mismatch;
}

and the irq isn't installed at all (setup_irq returns with EBUSY).

So the commit that caused this problem was simply bogus. The commit log says

   Since it is required for those users and
there is no difference for others it makes sense to add this flag
unconditionally.

but the there is no difference for others seems to be total crap,
exactly because it results in this IRQF mismatch.

So I think that commit should just be reverted. Thomas?

   Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL] omap changes for v2.6.39 merge window

2011-04-01 Thread Linus Torvalds
On Fri, Apr 1, 2011 at 8:55 AM, Arnd Bergmann a...@arndb.de wrote:

 Well, except that because of point 7, device trees are still inferior to
 having correct and complete information in hardware.

Oh, absolutely.

If you have discoverable hardware, use it.

But by discoverable hardware I mean something like PCI config
cycles. IOW, real hardware features. Not some code like

   if (board_signature_is(xyz)) {
 ...

that just maps some _other_ hardware knowledge (reading a SoC ID or
something) into an unrelated thing (I know this SoC has these bits of
hardware).

So devicetree should never override actual hardware tells me it
exists here. But you might well have a mapping from SoC ID's to a
compiled-in devicetree thing (this is largely what POWER does, iirc).

Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL] omap changes for v2.6.39 merge window

2011-03-31 Thread Linus Torvalds
On Thu, Mar 31, 2011 at 9:45 AM, Russell King - ARM Linux
li...@arm.linux.org.uk wrote:

 I think you're not entirely correct - have a look at Linus' message where
 there's a comparison of the size of arch/arm with other architectures, and
 you'll find that it is partly about size of source code.

It definitely is partly about code size, although I tend to use it as
an easy illustration of the issues rather than anything deeper than
that.

The code size is a symptom of the problem. The deeper problem is the
crazy arm hardware infrastructure. We can't do much about that, but it
does mean that I _do_ think we need to take approaches that aren't
necessary when that deeper problem doesn't exist.

For example, I don't think it's problematic that we have various
drivers that do their own gpio thing. Why? Because those things are
generally part of a bigger chip/driver that is discoverable, and they
don't tend to proliferate in various crazy random amounts - nor do
they tend to impact anything else. Nor does it look like that is going
to explode in the future any more than any normal driver work is
exploding.

Or look at the irq controllers we have on most other architectures.
x86 has several of them too, and it's annoying. But it's several,
not hundreds, and again, it's not exploding or looking like it will
be a major pain to support. I doubt Thomas enjoyed having to work with
the legacy controllers, but I also doubt he had huge problems on the
x86 side.

What does that mean? _I_ think it means that ARM platform managers
need to worry about things that other platform managers don't
necessarily need to worry about as much. Things that works for others
will _not_ work for ARM, because the platforms don't have the same
kind of sticking power. Other architectures just don't have the same
kinds of issues, so they don't need to worry about them.

An right now just from the kinds of pulls I do, I see all these ARM
platform maintainers doing their own thing, and adding new platforms
all the time (with a _very_ occasional removal of some old platform
support just because it was a prototype that never went anywhere at
all).

What I'm _not_ seeing is a lot of cross-platform maintenance or sense
of people trying to reign things in and look for solutions to the
proliferation of random stupid and mindless platform code.

Even _within_ platforms, I see conflicts like the crazy clock files -
and between platforms I don't see any conflicts for the simple reason
that people are just duplicating crap and adding more and more of
these mindless things. A new platform? Let's just create a new
directory, fill it with all the same template crud, and then tweak the
code to match.

It's simple, but it's not maintainable.

So it's not the size PER SE. But the size is a damn easy first-order
we have a problem sign. ARM is clearly an important architecture,
but that doesn't excuse the crazy bloating.

x86 had this too - the whole mindless duplication of x86-64. It got
merged. It required cleanups, it required effort, it required time.
And it required some abstractions. x86 never had much of a _platform_
duplication, and the different platforms that did exist were so
clearly secondary that they never rated any first-class code: they
always knew that they were a second-class citizen and had to work
within the framework of trying to hook into the main PC platform code.

Power did a lot of platform unification, despite having much less of a
problem than ARM to begin with. The less of a problem made it easier
to do, but also less critical.

And I don't think it's realistic to convert all ARM platforms in one
go, and nobody should even plan anything like that.

But I _do_ think that some of the major platforms (like omap) should
seriously just say we can't continue doing this, and look at
converting at least everything they do to something like devicetree
(NOT some omap-specific infrastructure!) rather than lots of explicit
code. Done right, that hopefully then shows other platforms how to do
the same, and get the ball rolling.

 Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL] omap changes for v2.6.39 merge window

2011-03-31 Thread Linus Torvalds
On Thu, Mar 31, 2011 at 10:56 AM, Nicolas Pitre n...@fluxnic.net wrote:

 So... Is there missed opportunity for better code reuse here?  Most
 probably.  Is all that code the result of misabstracted and duplicated
 code?  Certainly not.  Let's just presume that half of that code is
 genuine crap and the other half is simply the result of new hardware for
 which there is no existing model to fit it in.  Even then, do we have 5
 times the reviewer bandwidth to properly review all that code compared
 to X86?  Absolutely not, not even close.

That's an odd assumption. And it's followed by a total red herring
that doesn't even make any sense. And then your conclusion seems to be
that ARM could never have the same quality anyway, because of the
whole lack of review issue is fundamental.

And from there you seem to go on to think that there are no major
problems, and things are good enough!

 If prominent people looking at this from the side line continue bashing
 at those who are both feet in the mud trying to contain the flood rather
 than actually helping then nothing will change.

The reason nothing seems to be changing is that you don't seem to
think it's even WORTH fixing. I really don't understand your
arguments.

They seem to boil down to the same thing that always happens in the
embedded world, and why most of the hardware and software is crap:
people don't think further than their own small project.

It's why embedded OS's have always been crap, and it's why Linux is
becomign so important to ARM - exactly because the embedded world
(both software and hardware) always just look at their own issue, and
say hey, this is working for me right now, so I won't bother to try
to solve the bigger issues, because it's not worth my time.

To hammer that in:


 ...  And the fact is that _users_ of the
 ARM kernel are not complaining.  Things are far from being perfect, but
 so far things have been good enough for the majority of the people
 involved, and improvements are constantly being worked on with the men
 power available.

You really don't seem to care about how Thomas was complaining about
the whole maintenance issue. As he was trying to clean up irq
handling, the pure flow of more crap just made it hard to ever catch
up. THAT is the kind of maintenance problem where I go This is a big
problem.

But for some individual board user or the code-monkey who creates yet
another board description, this isn't a problem. Because he's looking
at a single kernel and a single board at a time, and seldom cares
about anything else.

But guess what? That really _is_ a problem. And it's likely to be a
bigger problem in the future. Look at how we're actually starting to
see vendors who are making ARM into more of a real platform, rather
than a succession of one-off embedded boards, and think about what
that actually will entail.

I'm talking about things like ASUS getting their feet wet making
netbooks with ARM. Things like that have been promised for the last
several years now, and so far it's been a total failure.

And it's going to CONTINUE to be a failure, unless the ARM platform
mess can be sorted out.

Why? Think of the Ubuntu's etc of the world. If you can't make
half-way generic install images, you can't have a reasonably generic
distribution. And if you don't have that, then what happens to your
developer situation? Most sane people won't touch it with a ten-foot
pole, because the bother is simply not worth their time.

So the current embedded mindset of hey, it's working for all these
individual people is just broken. It's broken for multiple reasons.
It's broken because it makes it much harder to do top-level
maintenance (but the low-level guys don't care), and it's broken
because it results in insane fragmentation where it basically is never
an option to support anything but one - or a couple - particular
device.

The ARM -core- situation is simple, and those high-level people can
(and do) say that they'll just support ARM7 and screw all the other
cores.

But the platform problem is real. And it does need some solution,
because continuing to just do the same thing really does mean that
some new things simply cannot be done.

And the fact that it's been good enough in the past when every
single board was always just a one-off and had nothing to do with
other boards does _not_ mean that it's going to continue to be good
enough.

So the _good_ news is that all the high-end ARM's are largely
consolidating anyway, and when we're talking Cortex-A9 class hardware,
there generally aren't millions of SoC's. And I'm hoping the hardware
people are actually aware of this (presumably because their customers
are starting to push back against pointless hw churn too) and clearly
some manufacturers are trying to -create- platforms like OMAP that try
to have lots of shared characteristics (and then screw up a lot of the
details, but whatever).

But I still do think that on the software side, people need to stop
doing the whole 

Re: [GIT PULL] omap changes for v2.6.39 merge window

2011-03-31 Thread Linus Torvalds
On Thu, Mar 31, 2011 at 12:25 PM, Nicolas Pitre n...@fluxnic.net wrote:

 So we need help!  If core kernel people could get off their X86 stool
 and get down in the ARM mud to help sort out this mess that would be
 really nice (thanks tglx).  Until then all that the few of us can do is
 to contain the flood and hope for the best, and so far things being as
 they are have still worked surprisingly well in practice for users.  If
 compensation is a concern then I think Linaro might be able to arrange
 something.

The thing is, maintainers don't scale.

The only way to get quality code is to try to improve the quality from
the leaf nodes, because otherwise you'll always end up playing
catch-up. You'll get new bad code faster than you can clean it up.

I've told people this before, and I'll tell it again: when I flame
submaintainers, they should try to push the pain down. I'm not really
asking those submaintainers to clean up all the stuff they are
getting: I'm basically asking people to say no, or at least push
back a lot, and argue with the people who send you code. Tell them
what you don't like about the code, and tell them that you can't take
it any more.

 And we can't count on vendor people doing this work.  They are all busy
 porting the kernel to their next SOC version so they can win the next
 big Android hardware design, and doing so with our kernel quality
 standards is already quite a struggle for them.

This really isn't the argument. The argument should be that if they
want their code up-stream, they need to do a good job. If they don't,
why should you take it at all?

 What is going on at the moment is some effort to introduce DT support to
 ARM.  The core support is there, but that is useless until platform code
 is moved to it, and corresponding work is put into bootloaders, etc.
 That is progressing... slowly.

How about not moving platform code TO it, but at least saying that you
won't accept new platform code that doesn't use it? When somebody
sends you a new platform, just say no if it's another copy-paste job
or another add yet another #ifdef or conditional to a messy driver.

 But we also need some slack wrt number of lines changed.  An increased
 consolidation effort will create more churn not less, at least for a
 while.  The OMAP clock merge conflict was the result of some cleanup
 which will make further consolidation easier.

Umm. The whole number of lines of code thing has become a total red herring.

THAT IS NOT WHY I STARTED TO COMPLAIN!

The reason I point out the number of lines of code is because it's one
of the more obvious _symptoms_ of the problem.

But trust me, if you start doing a better job at platform code, I
won't be complaining when I get lots of deleted code, or when I start
getting devicetree descriptions instead of new drivers.

So number of lines of code and massive churn is a problem, but
look at how I'm not complaining about the drivers/ subdirectory, which
is still the bulk of all lines in the kernel by far. I may complain
about particular subsystems in drivers (gpu..) for other reasons, but
it's not lines of code per se.

In the case of ARM, the reason I point out the size of the arch/arm is
because it's illustrative of just how _different_ ARM is from the
other architectures.  And those differences are pretty much all about
the board/platform issues.

  Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL] omap changes for v2.6.39 merge window

2011-03-31 Thread Linus Torvalds
On Thu, Mar 31, 2011 at 1:05 PM, Linus Torvalds
torva...@linux-foundation.org wrote:

 Umm. The whole number of lines of code thing has become a total red herring.

 THAT IS NOT WHY I STARTED TO COMPLAIN!

 The reason I point out the number of lines of code is because it's one
 of the more obvious _symptoms_ of the problem.

 But trust me, if you start doing a better job at platform code, I
 won't be complaining when I get lots of deleted code, or when I start
 getting devicetree descriptions instead of new drivers.

So if you don't like lines of code, how about just number of files touched.

This is Thomas this merge window. Remember: he's traditionally doing
timers and interrupts and stuff.  Do:

 git log --author=tglx v2.6.38.. --oneline --numstat |
cut -f3- | grep -v ' ' | cut -d/ -f1-2 |
sort | uniq -c | sort -n | tail

and see another example of arm standing out (ok, so kernel/irq also
stands out in this case, but you'd kind of _expect_ that, when the
whole series is about irq controllers, wouldn't you?)

And no, mips doesn't look so hot either.

Anyway, the point is, there are many ways to show the whole arm is a
maintenance problem issue. Don't get too hung up about number of
lines changed. It's just the simplest kind of thing where the tools
give answers very quickly without the above kinds of games.

Btw, the reason why the subject line on this rant is what it is, is
that during this merge window, arm was also one of the more annoying
to merge. And NO, that does NOT mean that I want you guys to merge
things behind my back just to hide the problem. I'm just saying that
it's another facet of this whole issue. Not that I can't do merges,
but that ARM simply ends up having these issues that others don't.

  Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL] omap changes for v2.6.39 merge window

2011-03-30 Thread Linus Torvalds
On Wed, Mar 30, 2011 at 10:06 AM, Arnd Bergmann a...@arndb.de wrote:

 I'm still new to the ARM world, but I think one real problem is the way
 that all platforms have their own trees with a very flat hierarchy --
 a lot of people directly ask Linus to pull their trees, and the main
 way to sort out conflicts is linux-next. The number of platforms in the
 ARM arch is still increasing, so I assume that this only gets worse.

As far as I'm concerned, the biggest issuee is that some of the ARM
crap is just CRAP. It's idiotic tables that get updated by multiple
people, and in totally nonsensical ways. When I see conflicts in those
damn clock-data files, I just go mental. Those files are an
abomination.

Why the hell is the clock-data for fifty (number taken out of my ass)
different clocking rules in one array? And why do we have eight
different files of that kind of crap for omap2?

THAT is an example of something that is totally and utterly screwed
up. Those kinds of random board-level detail files abound in the ARM
tree. They should either be in a per-board file, or (much better) the
ARM people should have standardized this ten f*cking years ago, and
put it in a bootloader or something that just initializes the crap so
that the kernel doesn't have to have random tables like that at all.

ARM right now i a nightmare, and most of it is because ARM hardware
manufacturers are morons. But the way the ARM tree is then laid out
has made that even more painful, and the decision to put all the crazy
board details in the kernel tables instead of trying to have a
per-board boot loader that fills in the details is just crazy.

Look at the dirstat for arch/ in just the current merge window
(cut-off at 5% just to not get too much):

[torvalds@i5 linux]$ git diff -C --dirstat=5 --cumulative v2.6.38.. arch
  14.0% arch/arm/mach-omap2/
   5.8% arch/arm/plat-mxc/include/mach/
   6.3% arch/arm/plat-mxc/
  57.1% arch/arm/
   5.4% arch/m68k/
   9.6% arch/unicore32/
   6.9% arch/x86/
 100.0% arch/

almost *SIXTY* percent of all arch updates were to ARM code. And
that's despite the fact that one of those architectures (unicore32) is
a totally new architecture, and despite m68k having gone through a
first-level unification of nommu and mmu code!

And was this just a fluke? No. Doing the same for 2.3.37..38 gives
58.3% for arch/arm (and in that release we had a blackfin unification
effort, otherwise arm would have been an even bigger percentage).

That's ridiculous. It's entirely due to the whole f*cked-up arm ecosystem.

Something needs to be done. A small part is to make sure the source
code is more hierarchical, so that we don't have those crazy shared
data-files that are ugly as hell and get conflicts because different
boards all think they need to care.

But the larger problem is that somebody really REALLY needs to think
about how to get those crazy board details out of the kernel entirely.
Having per-board drivers for real hardware is sane - having to have
per-board detail files for clock chips is just crazy. Split off that
thing a Linux ARM second-stage bootloader project that has the
per-board tables or something. Don't pollute the main kernel with
crazy details like this.

Because as far as I can tell, most of that board support really is
about crazy details that the kernel shouldn't even care about. Come up
with a table that describes them, have one common parsing routine, and
push the table into a bootloader. And get rid of having to add a board
file for every crazy random piece of hardware that nobody really cares
about.

Or something.

  Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL] omap changes for v2.6.39 merge window

2011-03-30 Thread Linus Torvalds
On Wed, Mar 30, 2011 at 1:41 PM, Nicolas Pitre n...@fluxnic.net wrote:

 If in your mind competitors == morons then you might be right.

There's a difference between competition and do things differently
just to be difficult.

 Trying to rely on bootloaders doing things right is like saying that x86
 should always rely on the BIOS doing things right.

No. Not at all.

The problem with firmware/BIOS is that it's set in stone and closed-source.

I'm suggesting splitting out the crazy part into a separate project
that does this. Open-source. Like a mini-kernel. Because the thing is,
the main kernel doesn't care, and _shouldn't_ care. Those board files
are just noise.

The long-term situation should be that you should be able to have ONE
binary kernel just work. That's where we are on x86. Really.

Without that kind of long-term view, where do you think ARM is going
to be in five years?

 almost *SIXTY* percent of all arch updates were to ARM code.

 Absolutely not!  You have 14% going to OMAP code which happens to be
 under arch/arm/ but there is nothing ARM specific in there.  If OMAP was
 using a PPC or a MIPS core then you'd have the same result except under
 arch/powerpc or arch/mips.  There is very little in terms of ARM
 specific peculiarities under arch/arm/mach-omap2/ in fact.

But that's my point - the problem is all the crazy board crap.

I've never claimed that this is about the ARM cpu (which has it's own
issues, but that's a separate rant entirely). It's about the broken
infrastructure.

Now, some of it is quite understandable - ie real drivers for real
hardware. But a _lot_ of it seems to be just descriptor tables, and
I'm getting the very strong feeling that ARM people aren't even
_trying_ to make it sane, and trying to standardize things, or trying
to aim for the whole notion of one kernel image, with much more hw
description done elsewhere.

Sure, you'll fundamentally always need several images (due to the
afore-mentioned crazy CPU architecture flaws - arm6 vs arm7 vs
armxyz), but I'm looking at the future, and arch/arm will get
_totally_ unmaintainable unless you guys have a plan for getting out
of the crazy hole you are in now.

arch/arm is already about 3x the size of arch/x86. And it's pretty
much all the crazy infrastructure afaik. timer chips, irq chips, gpio
differences - crap like that.

And the fact that you don't even seem to UNDERSTAND the problem, and
think that it's ok, and that continued future explosion of this is all
fine makes me even more nervous.

   Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL] omap changes for v2.6.39 merge window

2011-03-30 Thread Linus Torvalds
On Wed, Mar 30, 2011 at 2:44 PM, Tony Lindgren t...@atomide.com wrote:

 That's ridiculous. It's entirely due to the whole f*cked-up arm ecosystem.

 Yeh there's no BIOS and there are no scannable busses.. Which leads
 to huge amount of data patches that show up in the diffstat.

Yes. And due to all the traditional embedded models, there's no
historical platform model at all, unlike pretty much all other
architectures. Sure, other architectures often have more than a single
platform, but there's usually at least a couple of standard ways of
doing things, and defined interfaces to figure out at least most of
the big issues.

The embedded world has always been painfully different, and arm is
just the most successful entry (by far) in that world.

So as a result, it's not just no scannable busses, it's pretty much
_everything_ that you can't take for granted. The clock chip details
and crazy irq controllers are a symptom.

Now, I'm not a huge fan of ACPI and always point out how firmware
people inevitably get something wrong, but the _real_ reason I think
ACPI was such a broken idea is that it was basically used as an excuse
to break the PC platform notion - the fundamental problem with ACPI
was that it was a way to avoid making platform decisions, and let all
the hw crazies make bad decisions and then fix them up in ACPI.

So I always felt that Intel should just have documented the hardware
standard instead, and pushed that as the platform (which, in all
honesty, Intel has done for a lot of very successful things - PCI,
AHCI, USB etc etc are all examples of Intel creating those kinds of
hardware platform standards). ACPI allowed (and still allows) Sony and
others to make crazy ad-hoc decisions about some random motherboard
device, and just encouranges _bad_ hardware without enumeration or
good high-level rules.

But for ARM, I suspect even ACPI would actually be an improvement.
Because on ARM, the crazy non-platform hw people already happened, and
took over the insane asylum.  So having a complicated description
language with an interpreter wouldn't be worse than what we already do
there.

I'm only half kidding. I wouldn't wish for ACPI even on ARM. But..

 Anyways, let's plan on kicking out per-SoC and per-board data from
 the kernel and get it from the bootloader via device tree in the
 long run. Most of the data is already separate from the code, so
 it should not be that hard to do, just takes some time.

This is basically my hope for the future. I just think that ARM people
should be very very aggressive about it, because the longer it isn't
done, the more crud there will be to convert.

I bet it will be painful to do. But it will be even more painful to
_not_ do it, and then five years from now realize that it should have
been done ten years ago.

Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL] omap changes for v2.6.39 merge window

2011-03-30 Thread Linus Torvalds
On Wed, Mar 30, 2011 at 5:15 PM, Russell King - ARM Linux
li...@arm.linux.org.uk wrote:

 In this merge window, I deleted at least 6000 lines from arch/arm, and
 by quoting diffstat percentages, you're using that against the ARM
 community.  Why did I bother (that's not a question).

Umm. The actual stats are still:

 1349 files changed, 62230 insertions(+), 33993 deletions(-)

which is sad. And the end result speaks for itself: this is lines per
architecture:

  ...
  124022 total arch/sh
  124418 total arch/sparc
  181997 total arch/m68k
  246717 total arch/mips
  254785 total arch/x86
  370912 total arch/powerpc
  732732 total arch/arm

notice how ARM ends up being in a class of its own. This is a PROBLEM.

And ARM fanbois can say oh, but arm is special all they want, but
they need to realize that the lack of common platform for ARM is a
real major issue. It's not a feature, and I'm sorry, but anybody who
calls x86 peanuts is a moron and should be ashamed of himself.
Instead of trying to feel superior, those people should feel like
pariah.

The fact that x86 has a platform, and people have cared about
compatibility, and actually gets things to work with less code is a
good thing. I know ARM people who think that x86 is an ugly
architecture. But the fact is, of all the architectures out there, ARM
right now is the ugliest BY FAR. Exactly because of people who don't
seem to understand that this kind of crap is a problem.

Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL] omap changes for v2.6.39 merge window

2011-03-30 Thread Linus Torvalds
On Wed, Mar 30, 2011 at 6:15 PM, Bill Gatliff b...@billgatliff.com wrote:

 I'm not sure this metric is completely fair to ARM.  If you want to
 level the field, I think you have to divide each result by the number
 of SoC's

But that's the problem with ARM. Hardware companies that do one-off
stuff, with no sense of compatibility.

And calling it an opportunity is just stupid.

There's nothing good about causing extra work just because ARM hasn't
had the sense to standardize on one (or a couple) of interrupt
controllers etc.

   Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL] omap changes for v2.6.39 merge window

2011-03-30 Thread Linus Torvalds
On Wed, Mar 30, 2011 at 6:44 PM, Bill Gatliff b...@billgatliff.com wrote:

 In the meantime, we have to live with the chips that exist and the
 ones coming down the pipe.  Until ARM and all their licensees start
 consulting us on such matters, we'll just have to find a way to deal
 with what we're given after the fact.

Yes. But:

 (a) we don't have to be stupid and think it's a good design and an
opportunity like you do.

and

 (b) the kernel source code doesn't have to be the mess of code that
it is. Those things should be abstracted out somehow (and yes,
devicetree is hopefully one way)

I really don't understand why you seem to be arguing against trying to
fix a real problem, and why you also seem to be arguing that the messy
ARM situation is somehow good. I find your attitude about the lack
of platform being good be to incomprehensibly stupid. There is
absolutely _no_ advantage to anybody from the crazy arm fragmentation.

I know, I know, a lot of companies make money supporting the whole
crazy mess. I guess that can make people confused and think that being
messy is good, and could be seen as an advantage.

But most embedded companies seem to have realized that they should
move up the stack, rather than worry about some crazy GPIO or stupid
driver details.

Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL] omap changes for v2.6.39 merge window

2011-03-30 Thread Linus Torvalds
On Wed, Mar 30, 2011 at 7:20 PM, Bill Gatliff b...@billgatliff.com wrote:

 If it isn't opportunity, then you must be arguing that we shouldn't
 add any new ARM SoC support to the kernel.  Is that what you are
 saying?

What I'm saying is that we should not be adding ANY MINDLESS BOARD
DRIVERS for ARM.

Because they don't work. Most of them are totally unmaintainable CRAP
in the long run. They are extra code that actually have negative
worth. It shouldn't be in the kernel at all.

So let's take a really simple example of this kind of crap.

Do this:

git ls-files arch/arm/ | grep gpio

and cry. That's 145 files in the arm directory that are some kind of
crazy gpio support.

Now, we have gpio drivers in other parts of the kernel too, but ARM is
at the point where it's just crazy.

And most GPIO drivers I've ever seen are actually basically turn this
bit on or off in this register to turn it into an Input or Output
along with read/write this other bit to actually see/set the value.
Repeat that for 'nr' bits, where 'nr' is just some small value,
usually in single digits.

Now, not all of them are that, by all means, and the details are often
slightly different. Sometimes the read register is the same as the
write register, sometimes it isn't. Sometimes you have a clear
register and a set register instead of a register you write the
value to. And I haven't checked what those 145 files do, but I bet a
_lot_ of them could be described by having a single generic gpio
driver, and then just using devicetree to give that common driver a
few values to describe where the IO ports are, which bits they are,
and which type of gpio it is.

And then when you have another ARM SoC, instead of writing yet another
mindless board driver for the gpio's on it, just add the nr entries
for the GPIO's to the device tree. NOT A SINGLE LINE OF CODE.

Yes, yes, there are always exceptions. Many GPIO's are actually behind
some i2c bus or something. Others can do pulsing or are just generally
more complex than an array of single bits. So I'm sure we couldn't
replace all those 145 gpio files under arch/arm with a single driver
and some devicetree entries, but maybe half of them match the simple
pattern. I bet the SoC case it's more than half, it would be silly to
do i2c on an SoC. But I dunno. I really didn't look.

PowerPC does exactly the above, btw. So I'm not just talking about
some magical theoretical thing. I seriously think every ARM person who
has ever written any of those gpio files should look at powerpc.
Now, I suspect that most powerpc SoC's tend to share more IP blocks
than the crazy ARM situation, but even so, please just check it out.
Check out the device tree files (*.dts) and do that same

   git ls-files arch/arm/ | grep gpio

except do it on powerpc.

See the difference?

The powerpc people even wrote documentation about the thing, which is
just above and beyond reasonable.

 Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL] omap changes for v2.6.39 merge window

2011-03-17 Thread Linus Torvalds
On Thu, Mar 17, 2011 at 11:30 AM, Tony Lindgren t...@atomide.com wrote:

 Please pull omap changes for this merge window from:

Gaah. Guys, this whole ARM thing is a f*cking pain in the ass.

You need to stop stepping on each others toes. There is no way that
your changes to those crazy clock-data files should constantly result
in those annoying conflicts, just because different people in
different ARM trees do some masturbatory renaming of some random
device. Seriously.

That usb_musb_init() thing in arch/arm/mach-omap2/usb-musb.c also
seems to be totally insane. I wonder what kind of insanity I'm missing
just because I don't happen to see the merge conflicts, just because
people were lucky enough to happen to not touch the same file within a
few lines.

Somebody needs to get a grip in the ARM community. I do want to do
these merges, just to see how screwed up things are, but guys, this is
just ridiculous. The pure amount of crazy churn is annoying in itself,
but when I then get these independent pull requests from four
different people, and they touch the same files, that indicates that
something is wrong.

And stop the crazy renaming already! Just leave it off. Don't rename
boards and drivers just because, at least not when there clearly are
clashes. There's no point. I'm not even talking about the file renames
(which happened and can also make it fun to try to resolve the
conflicts when somebody else then makes _other_ changes), but about
the stupid change human-readable names in board files just to annoy
whoever needs to merge the crap.

Somebody in the ARM community really needs to step up and tell people
to stop dicking around.

(I'm replying to the omap pull request, because that's the one I did
last, but I don't know who to blame. I don't care. It really doesn't
matter. I realize thar ARM vendors do crazy shit and haven't figured
out this whole platform thing yet, but you guys need to push back on
the people sending you crap).

   Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL] omap changes for v2.6.39 merge window

2011-03-17 Thread Linus Torvalds
On Thu, Mar 17, 2011 at 11:30 AM, Tony Lindgren t...@atomide.com wrote:

 Please pull omap changes for this merge window from:

 git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git 
 omap-for-linus

Btw, that generic hardware spinlock thing needs to be hidden from
sane people and architectures that don't need it.

Make platforms that need it select it or something. It looks like
nobody but an OMAP4 could _possibly_ ever want to answer 'y' to that
question, SO DON'T ASK IT!

 Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: PATCH [0/4] perf: clean-up of power events API

2010-10-09 Thread Linus Torvalds
On Sat, Oct 9, 2010 at 1:14 AM, Pierre Tardy tar...@gmail.com wrote:
 On Sat, Oct 9, 2010 at 8:28 AM, Ingo Molnar mi...@elte.hu wrote:


 The thing is, Arjan is 100% right that a library for this is not a
 'solution', it's an unnecessary complication.
 Yes. sounds like overengineering.

I also want to remind people that backwards compatibility should
always absolutely be the #1 priority. Using libraries to hide
differences is a totally moronic thing to do, because if you can do a
compatibility library with good interfaces, then damn it, the kernel
interface should already _be_ that good interface.

And no, even if you interact purely with open source programs, the
backwards compatibility requirement doesn't go away. It's a damn pain
in the ass to have to recompile, and it means that you have a much
harder time mixing and matching, and just updating the kernel on top
of a standard distribution.

So changing kernel interfaces that get exported to user space is
always a disaster. Anybody who _designs_ for that kind of disaster
shouldn't be participating in kernel development, because they've
shown themselves to be unable to understand the pain and suffering.

Yes, we do it. Sometimes we change interfaces because not changing
them is too damn painful. But it should absolutely not be the design
model.

Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: PATCH [0/4] perf: clean-up of power events API

2010-10-09 Thread Linus Torvalds
On Sat, Oct 9, 2010 at 2:15 PM, Steven Rostedt rost...@goodmis.org wrote:

 The difference here compared to all other user interfaces, is that this
 interface has the sole purpose of showing what is happening inside the
 kernel.

Bogus and dishonest argument.

Listen to yourself, and read this thread again.

The thread was about doing some kind of open-source library to allow
non-open-source access to these events, and keeping backwards
compatibility in user space. In fact, that is what you yourself said.

So you claimed it could be backwards-compatible. If that's the case,
then there is no excuse for not being so in the kernel.

You can't have it both ways. Stop the f*cking waffling.

Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Sensors and the input layer (was Re: [RFC] [PATCH V2 1/2] input: CMA3000 Accelerometer driver)

2010-08-30 Thread Linus Torvalds
On Monday, August 30, 2010, Dmitry Torokhov dmitry.torok...@gmail.com wrote:

 But do you believe that input should be the primary residence for the
 devices when they are only _sometimes_ used as input devices? Or it
 would make sense to employ a converter from XXX to input (either purely
 in-kernel or userspace over uinput)?

Umm... You've brought that up before as an objection, but what _is_
that other model that you would convert from? IOW what *is* that XXX
that you talk about?

So I think accelerometers etc should be seen as input devices for the
simple reason that

 (a) They really *are* input devices in all the most common cases. If
you have a phone with an accelerometer, it really is used as an input
device quite like a joystick.

The fact that there are specialized and rare cases where people may
have some fancier accelerometer that isn't necessarily seen that way,
and where it is used for some fancy scientific experiment or whatever
doesn't change this in *any* way. The common case that almost
everybody cares about - and that is getting more common - is the
simple and obvious input case.

How is a Wii accelerometer in any way different from a joystick? How
is a phone accelerometer any different from one? The answer is clear:
they aren't different! So it makes 100% sense to expose them under the
same subsystem.

(b) You cannot even name your XXX thing. It clearly makes sense (at
least within Tue context of a driver for some embedded phone chip) to
see it as an input device. And nothing else comes to mind. You'd have
to expose it as some random character device and then everybody would
just have to make it emulate an input device in user space anyway.
What's the point of that?

None. That's what the point is.

So I really don't understand why you're fighting the input device
angle. It makes sense as an input device. It does NOT make sense as
anything else.

Really - what else could a phone accelerometer (or GPS device, for
that matter) really be? It very much is about user input - even if it
isn't a keyboard.

Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Sensors and the input layer (was Re: [RFC] [PATCH V2 1/2] input: CMA3000 Accelerometer driver)

2010-08-30 Thread Linus Torvalds
On Monday, August 30, 2010, Dmitry Torokhov dmitry.torok...@gmail.com wrote:

 That is why I started taking accelerometers in. But I am concerned that
 taking accelerometers (which indeed are most often input devices) will
 lead people to try and use the same for temperature, ALS and other
 sensors that are more often used in industrial process controls.

You're just being silly.

Nobody writes a driver for a temperature sensor or ambient light
sensor. They write a driver for a specific *chip* that is used in
cellphones etc, and that happens to have an ambient light and
temperature sensor on it.

And in that context, it really does make sense to see it as an input
driver. And the fact that there are industrial uses for ALS sensors
that aren't necessarily at all interested on the input layer should
not matter at all.

So don't bring up ALS isn't always input because within the context
of a driver for some highly integrated cellphone model, it really IS
input, and there is no ambiguity at all.

So your sometimes it is, and sometimes it isn't argument is bogus.
The ambiguity simply doesn't exist when seen in context.

 (or GPS device, for that matter) really be?

 But why GPS should be input device? It has nothing to do with user
 input.

What? OF COURSE it is an input driver. It's the user moving the device
around. It's EXACTLY the same thing as an accelerometer in that
respect. Sure, it's a bit less precise and measures movement wrt some
external frame, but technically they are almost exactly the same.

If you se doing a navigation app, the accelerometer, the compass and
the GPS are all equally (but differently) important.

Again - it's not a user touching buttons. But it IS a user moving around.

  Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: ARM defconfig files

2010-07-12 Thread Linus Torvalds
2010/7/12 Uwe Kleine-König u.kleine-koe...@pengutronix.de:

 As you havn't replied up to now I wonder if that just means that you
 still plan to remove all defconfig files or if you are just busy doing
 other things.

The reason I haven't replied is that

 (a) I don't think this really solves the issue, in that the
resulting files still aren't human-readable, and as such I suspect it
doesn't solve the problem in the long run: people will continue to
just run make config and then copy the resulting .config file as a
defconfig file.

and

 (b) even if ARM were to go this way, and run the scripts to minimize
the defconfig files, that's not something _I_ would do. If I get tired
of seeing the insane pull requests where 90% of the crap is just
defconfig noise, then _my_ solution will be to remove the crap because
I simply am never going to be the person who maintains those defconfig
files.

See? Especially the (b) part is relevant - I am simply not going to
be the person who tries to clean up after other people sh*tting all
over their trees with defconfig files.  If I do something, it will be
total surgery, ie keep your damn broken defconfig files somewhere
else than in my tree - I'm tired of your stupidities. It will not be
I'll be your mother and clean up your room every day after you made a
mess.

So if the ARM people decide that your script is a good way to clean up
the mess, I might be happy with that. But that would require that they
NEVER EVER try to push me a update that contains an un-cleaned-up
defconfig file. If they do, and the defconfig files end up showing up
big in git history, then the approach has failed.

See? The reason I'm not replying to your approach is that it's simply
not for me to do so (and no, I don't think it's maintainable, but I
haven't tried it, so..)

Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: ARM defconfig files

2010-07-12 Thread Linus Torvalds
On Mon, Jul 12, 2010 at 10:32 AM, Russell King - ARM Linux
li...@arm.linux.org.uk wrote:

 When you brought up the problem you seemed absolutely convinced
 that nothing except your solution was going to be acceptable.

That's not true. What's true is that you didn't seem to _understand_
my solution, so I tried to push the understanding of it.

There are always other solutions. I seriously doubt that Uwe's is a
maintainable one. That said, even a one-time reduce the size of that
stinking pile of sh*t is probably better than nothing.

I hope you at least do agree that the current situation is a steaming
pile of sh*t. And yes, I _will_ remove the crap, both from POWER and
ARM, unless I see some serious tries at fixing it.

   Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: ARM defconfig files

2010-07-12 Thread Linus Torvalds
2010/7/12 Uwe Kleine-König u.kleine-koe...@pengutronix.de:

 I'm willing to try my solution, some others on the linux-arm-kernel
 lists considered it worth trying, too.  Feel free to pull my tree[1].
 Russell refused to take defconfig changes for a while now, so I don't
 expect merge problems if you do.

Well, I can hardly refuse a pull that removes almost 200k lines. So
I'd happily pull it. Just this single line in your email is a very
very powerful thing:

  177 files changed, 652 insertions(+), 194157 deletions(-)

However, before I would pull, I'd definitely like to make sure we at
least have some way forward too, and clarify some issues. So I have a
couple of questions:

 - is this guaranteed to be a no-op as things stand now, and what are
the secondary effects of it?

   Put another way: I realize that fairly late in the -rc series is
actually a really good time to do this, rather than during the merge
window itself when things are in flux. However, while it would be a
good time to pull this for that reason, it's also a _horrible_ time to
pull if it then regresses the defconfig uses, or if it causes horrible
problems for linux-next merging etc.

 - what happens when somebody wants to update the defconfig files?

   This is a question that involves a number of people, because over
the last half year, we've had lots of people changing them. git
shortlog -ns on that ARM config directory gives 39 people in the last
half year, with the top looking roughly like

26  Ben Dooks
10  Tony Lindgren
 4  Haojian Zhuang
 4  Kukjin Kim
 3  Santosh Shilimkar
 3  Sriram
 2  Janusz Krzysztofik


and how are these people going to do their updates going forward
without re-introducing the noise?

IOW, I'd _love_ to get rid of almost 200k lines of noise and your
approach would seem to have the advantage that it's invisible to
users. But I would want to get some kind of assurance that it's
practical to do so.

  Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: ARM defconfig files

2010-07-12 Thread Linus Torvalds
On Mon, Jul 12, 2010 at 12:17 PM, Nicolas Pitre n...@fluxnic.net wrote:

    Put another way: I realize that fairly late in the -rc series is
 actually a really good time to do this, rather than during the merge
 window itself when things are in flux. However, while it would be a
 good time to pull this for that reason, it's also a _horrible_ time to
 pull if it then regresses the defconfig uses, or if it causes horrible
 problems for linux-next merging etc.

 This cannot be any worse than wholesale removal of those files as you
 were contemplating at some point.  Furthermore, on ARM we have someone
 providing automatic rebuild of all defconfigs already, so any serious
 issue should be noticed right away.

You aren't really answering the question. The thing is, the wholesale
removal wouldn't happen during the late -rc anyway, and it wouldn't
cause any merge issues (merge conflicts where the file is just to be
removed are trivial to take care of).

So I'm really asking about the issue of how does this work during the
late -rc phase. Where the _timing_ is the important thing.

Because I could as easily pull after 2.6.35 is out. That has it's own
downsides (with all the merging going on), but at the same time, it's
clearly the right time for a large change.

So when I ask about timing and how does this work in late -rc, it's
really about how safe it is to do now. Because if it isn't very
obviously safe, I can't pull it.

One part of the obviously safe thing is verification for each
defconfig file that the end result is identical with the reduced
version. Uwe implied that it was, and that was clearly the intention,
but was there some explicit verification that yes, the
before-and-after configurations are 100% the same?

Also, I assume that while it's _mostly_ a transparent change to users,
it does require that people do make oldconfig with the reduced
defconfig file first, in order to avoid having to answer with the
defaults. No? And the reduced defconfig files obviously do depend on
the default in the Kconfig files themselves, so it does have that kind
of fairly subtle semantic change that may not be entirely obvious or
easy to notice.

So from a timing standpoint, I just want to be convinced that late
-rc really is the right thing. I'm not entirely sure it is, even
though I do see advantages.

 I think Uwe could provide his script and add it to the kernel tree.
 Then all architectures could benefit from it.  Having the defconfig
 files contain only those options which are different from the defaults
 is certainly more readable, even on x86.

Quite possible. But maintainers would need to be on the lookout of
people actually using the script, and refusing to apply patches that
re-introduce the whole big thing.

I also haven't actually seen the script - I don't think Uwe ever
posted it - so maybe it's some very fragile thing. Hard to judge on no
real information ;^p

   Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: ARM defconfig files

2010-07-12 Thread Linus Torvalds
On Mon, Jul 12, 2010 at 1:29 PM, Nicolas Pitre n...@fluxnic.net wrote:

 For the record, I do support Uwe's work too.  I do wish it could go in
 now so that from that point going forward we could only focus on
 improving the thing instead of having to care about implications during
 the merge window.

Ok, I merged it. I do love the diffstat. And while it may not be
optimal or a final solution, nobody seems to hate it either.

   Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: ARM defconfig files

2010-07-12 Thread Linus Torvalds
2010/7/12 David Brown dav...@codeaurora.org:

 Do you have scripts or tools that you did this with, or is a manual
 process.  We're about to add several new (ARM) targets, and it'd be
 nice to be able to make small defconfigs for those targets as well.

Uwe posted it earlier in this thread as an attachement, and I put the
python script into the merge commit message too. And we should
probably put it somewhere in scripts too, and/or make a 'make' target
to create the small config files.

I pushed it all out, and tagged it as -rc5.

 Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [linux-pm] suspend blockers Android integration

2010-06-08 Thread Linus Torvalds


On Tue, 8 Jun 2010, da...@lang.hm wrote:
 
 having suspend blockers inside the kernel adds significant complexity, it's
 worth it only if the complexity buys you enough. In this case the question is
 if the suspend blockers would extend the sleep time enough more to matter. As
 per my other e-mail, this is an area with rapidly diminishing returns as the
 sleep times get longer.

Well, the counter-argument that nobody seems to have brought up is that 
suspend blockers exist, are real code, and end up being shipped in a lot 
of machines.

That's a _big_ argument in favour of them. Certainly much bigger than 
arguing against them based on some complexity-arguments for an alternative 
that hasn't seen any testing at all.

IOW, I would seriously hope that this discussion was more about real code 
that _exists_ and does what people need. It seems to have degenerated into 
something else.

Because in the end, code talks, bullshit walks. People can complain and 
suggest alternatives all they want, but you can't just argue. At some 
point you need to show the code that actually solves the problem.

Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: suspend blockers Android integration

2010-06-03 Thread Linus Torvalds


On Fri, 4 Jun 2010, Ingo Molnar wrote:
 
This allows a task to 'exclude' other tasks that dont have low-latency 
requirements. Crappy apps would have a large latency value, so they'd
be idled out when a privileged task sets the exclusion level low enough.

Quite frankly, this sounds fundamentally broken.

Think deadlock. The high-latency task got a lock, and now you're excluding 
it because it scheduled away.

So from my perspective, putting that kind of logic deep in the system 
sounds like the _last_ thing we want to do.

I think it's much saner to have a very targeted suspend blocker that only 
blocks the opportunistic suspends and has _zero_ interaction with the rest 
of the system (certainly none at all with core code like the scheduler).

And if somebody then suspends the traditional way (by an actual suspend 
event, not that opportunistic thing), then the suspend blocker does 
nothing at all - because it simply doesn't even _exist_ at that level. 
It's only about the opportunistic suspends.

(I'd further suggest that disk wait and running in kernel mode disable any 
opportunistic suspend anyway - but that's not about suspend blockers as 
much as it is about just the opportunistic suspend itself).

Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: suspend blockers Android integration

2010-06-03 Thread Linus Torvalds


On Fri, 4 Jun 2010, Ingo Molnar wrote:
 
 What you say is absolutely true, hence this would be driven via sched_tick() 
 + 
 TIF notifiers - i.e. only ever treat user-mode tasks as 'idle-able'. This can 
 be done with no overhead to the regular fastpaths.
 
 The TIF notifier would be the one scheduling to idle - and would thus do it 
 only to user-mode tasks.

The thing is, unless there is some _really_ deep other reason to do 
something like this, I still think it's total overdesign to push any 
knowledge/choices like this into the scheduler. I'd rather keep things way 
more independent, less tied to each other and to deep kernel subsystems.

IOW, my personal opinion is that somethng like a suspend (blocker or not) 
decision simply shouldn't be important enough to be tied into the 
scheduler. Especially not if it could just be its own layer.

That said, as far as I know, the Android people have mostly been looking 
at the suspend angle from a single-core standpoint. And I'm not at all 
convinced that they should hijack the existing /sys/power/state thing 
which is what I think they do now.

And those two things go together. The /sys/power/state thing is a global 
suspend - which I don't think is appropriate for a opportunistic thing in 
the first place, especially for multi-core.

A well-designed opportunistic suspend should be a two-phase thing: an 
opportunistc CPU hotunplug (shutting down cores one by one as the system 
is idle), and not a global event in the first place. And only when 
you've reached single-core state should you then say do I suspend the 
system too.

So I've tried to look a bit at the patches, and my admittedly rough 
comments so far is

 - I really do prefer the off to the side approach that the current 
   google opportunistic suspend patches have. As mentioned, I don't think 
   this should be deep in the scheduler. Not at all.

 - I do think there are possibly races and CPU idle issues there, but I 
   think they are mainly for the multi-core thing. And I think that's a 
   totally separate issue. Or it _should_ be.

 - once you're single-core (whether because you never had more cores to 
   begin with, or because the opportunistic CPU offlining has taken down 
   the other cores), I think the suspend-blocker is fine as a concept, and 
   certainly shouldn't need any deep scheduler hooks.

so I'd like to see the opportunistc suspend thing think about CPU 
offlining, and I'd like to see it disconnect from the existing 
/sys/power/state. And I'd really not like to involved deep internal kernel 
hooks into it.

But I'll also admit that maybe I'm not seeing some problems. I've frankly 
tried to avoid the whole discussion until Andrew pulled me in yesterday.

Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: suspend blockers Android integration

2010-06-03 Thread Linus Torvalds


On Thu, 3 Jun 2010, Linus Torvalds wrote:
 
 so I'd like to see the opportunistc suspend thing think about CPU 
 offlining

Side note: one reason for me being somewhat interested in the CPU 
offlining is that I think the Android kind of opportunistic suspend is 
_not_ likely something I'd like to see on a desktop. But an the 
opportunistic CPU offliner? That might _well_ be useful even outside of 
any other suspend activity.

If the system is idle (or almost idle) for long times, I would heartily 
recommend actively shutting down unused cores. Some CPU's are hopefully 
smart enough to not even need that kind of software management, but I 
suspect even the really smart ones might be able to take advantage of the 
kernel saying: I'm shutting you down, you don't have to worry about 
latency AT ALL, because I'm keeping another CPU active to do any real 
work.

I'd also be interested to see if it could even improve single-thread 
performance if we end up doing the whole SMP-UP lock prefix rewriting 
when the system is idle enough that we'd be better off running just a 
single core. I dunno - just throwing that out there.

Anyway, the only reason I think this is related is literally because I 
think that if we know there is only a single CPU active, I think the 
actual real opportunistic suspend is easier. Suddenly you don't have to 
worry about what happens on other run-queues etc, and whether another CPU 
is just about to create a suspend block etc.

So I think they tie together, although it's mostly tangential. And as 
mentioned, I think a opportunistic CPU suspend part is more relevant 
outside of Android, and thus perhaps more widely interesting.

Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: suspend blockers Android integration

2010-06-03 Thread Linus Torvalds


On Thu, 3 Jun 2010, Arjan van de Ven wrote:
 
 And because there's then no power saving (but a performance cost), it's
 actually a negative for battery life/total energy.

Including the UP optimizations we do (ie lock prefix removal)? It's 
possible that I'm just biased by benchmarks, and it's true that Intel has 
been getting lots better, but the locking costs are very noticeable 
performance-wise on some benchmarks.

And several CPU's have been held back from going into deepest sleep states 
by stupid firmware and/or platform bugs.

But hey, if it's not going to help, and people have tried it, I guess I'll 
have to believe it.

Linus

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL] omap fixes for v2.6.34-rc5

2010-04-27 Thread Linus Torvalds

On Mon, 26 Apr 2010, Tony Lindgren wrote:
 
 Please pull omap fixes from:
 
 git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git 
 omap-fixes-for-linus

I pulled it this time, but I'm starting to get really irritated with you.

These look like real fixes, but quite frankly, by -rc5, that IS NOT 
ENOUGH. 

They need to be _regressions_, not just cleanups and fixes for things that 
have never worked. And this is starting to be a pattern with the omap 
tree: you're not honoring the merge window properly.

Just it's a bug-fix or it's deleting unused code is not enough. The 
point of the late -rc series is to fix problems from the merge window, not 
add new changes. I realize that you think that all the new changes are 
obviously good, but the fact is, bugs happen even in obvious bug-fixes. 

And that's why we have the rule about late-rc pulls being about 
_regressions_ and/or major oopses/security issues. Not just random 
development that are meant to improve things.

Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL] omap fixes for v2.6.34-rc5

2010-04-27 Thread Linus Torvalds


On Tue, 27 Apr 2010, Tony Lindgren wrote:
 
 OK point taken. I should have dealt with this earlier. Will only queue
 regressions after -rc3 or so.

Note that the only regressions is certainly not a hard rule. Anything 
that would be valid for -stable is obviously always valid: security 
issues, major oopses etc etc.

But the only regressions should kind of be the guiding line, and the 
others are more like this is so serious that it should go in regardless 
of anything else.

Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL] omap fixes for 2.6.33-rc3

2010-01-08 Thread Linus Torvalds


On Fri, 8 Jan 2010, Tony Lindgren wrote:
 
 Please pull omap fixes from:
 
 git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git 
 omap-fixes-for-linus

No.

I don't know what the *** people have been doing in that tree, but it 
looks like the _same_ branch was merged twice after rebasing:

Merge branch 'for_2_6_33_rc_a' of git://git.pwsan.com/linux-2.6 into 
omap-fixes-2.6.33-rc3
Merge branch 'for_2.6.33rc_b' of git://git.pwsan.com/linux-2.6 into 
omap-fixes-for-linus

This is why we don't rebase public trees, and I refuse to pull crap like 
that. You need to teach the people you work with to not rebase, and the 
only way I can say stop is by simply not pulling the crap.

There are other problems with that branch too - the committer 
information is pure sh*t. It says paul p...@twilight.(none), so quite 
frankly, somebody hasn't even read the very first chapter of just about 
every single git documentation that is out there.

And now that I noticed, I see that the crap-for-brains committer info has 
been going on for a long time, and I just hadn't looked closely enough 
before. I didn't look closely enough to see if the rebase problem had also 
happened before.

Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL] omap fixes for 2.6.33-rc3

2010-01-08 Thread Linus Torvalds


On Fri, 8 Jan 2010, Tony Lindgren wrote:
 
 $ git log --pretty=oneline --author=.(none) --committer=.(none) 
 v2.6.33-rc1..

Well, that will catch one particular common case of it, but..

 Should we have some check like this in place for all pulls?

.. it would probably make more sense to warn about it earlier in the 
chain, so that people with bad configurations can fix them. By the time 
somebody pulls, it's pretty late in the game.

Sadly, git doesn't do any real sanity checking, and now it's pretty much 
too late. It takes about a year or two for new git versions to percolate 
out, with things like Debian-stable etc, so making git warn about 
suspicious-looking names is not necessarily going to help (and with 
scripting and importing from other SCM's, it may be wrong to warn in 
general).

It's _fairly_ easy to set up a hook at commit-time to check for random 
thigns, but obviously if the problem is that people haven't configured 
their git setup, then add a hook is not going to work. In that sense, 
pull-time may be better, as a way to see it automatically after-the-fact.

Doing a post-merge hook would catch it, and could be used to warn about 
the fact that you merged something odd.

Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: linux-next: origin tree build failure

2009-12-15 Thread Linus Torvalds


On Wed, 16 Dec 2009, Stephen Rothwell wrote:

 Hi Tony,
 
 On Tue, 15 Dec 2009 09:27:17 -0800 Tony Lindgren t...@atomide.com wrote:
 
  * Mark Brown broo...@opensource.wolfsonmicro.com [091215 06:52]:
   On Tue, Dec 15, 2009 at 04:41:08PM +1100, Stephen Rothwell wrote:
   
I have applied this patch for today (please check):
   
   Looks good to me too, fwiw:
   
   Acked-by: Mark Brown broo...@opensource.wolfsonmicro.com
  
  Good thing we have for-next to catch things like this.
 
 Except if the renaming patch had gone through linux-next (even for one
 day) we would have found the problem *before* it was in Linus' tree ...

I think maybe Tony was being ironic, exactly because of this.

Linus
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html