From: Ingo Molnar <mingo@elte.hu>
To: David Miller <davem@davemloft.net>,
Linus Torvalds <torvalds@linux-foundation.org>
Cc: yinghai@kernel.org, benh@kernel.crashing.org, tglx@linutronix.de,
hpa@zytor.com, akpm@linux-foundation.org,
jbarnes@virtuousgeek.org, ebiederm@xmission.com,
linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org
Subject: Re: [PATCH 06/20] early_res: seperate common memmap func from e820.c to fw_memmap.c
Date: Mon, 22 Mar 2010 10:28:09 +0100 [thread overview]
Message-ID: <20100322092809.GA20607@elte.hu> (raw)
In-Reply-To: <20100321.213350.176660494.davem@davemloft.net>
( Cc:-ed Andrew and Linus as this is a general design/policy matter wrt.
memory management. )
* David Miller <davem@davemloft.net> wrote:
> From: Yinghai Lu <yinghai@kernel.org>
> Date: Sun, 21 Mar 2010 21:28:38 -0700
>
> >>
> >> That action means you absolutely don't value our feedback at all.
> >
> > [PATCH 01/20] x86: add find_e820_area_node
> > is addressing your concern that early_res didn't handle memory cross the nodes problem.
>
> Now I know that you _REALLY_ aren't listening to us.
[ He has done a bit more than just to simply listen: he seems to have written
a patch which he thinks is addressing the concerns you pointed out. It might
not be the response you wished for (and it might be inadequate) for but it
sure gives me the impression of him listening to you - unless by 'listening'
you mean 'follow my exact opinion without argument'. ]
> We said to use LMB because 1) it already exists 2) many platforms have been
> using it for years and 3) it doesn't lack the features you're now having to
> add to e820.
The thing is, lib/lmb.c was librarized two years ago by you (much after
early_res has been written for x86), but was not properly integrated into the
core kernel nor into x86. It was first suggested by you in the early_res
context about ten days ago, when Yinghai started posting Sparc64 patches.
Which is about half a year after the whole very difficult early_res/bootmem
work was started by Yinghai :-(
I dont mind LMB per se, logically it seems quite similar to the early_res bits
Yinghai has generalized (to a certain degree), and is quite a bit cleaner as
you are writing very clean code.
Note the other side of the coin: LMB appears to be deployed on only 4 non-x86
architectures that muster ~1% of the Linux boxes while early_res is deployed
on more than 95%.
So there's a very real hardship of testing and conversion here that we cannot
ignore and an even better path may be to gradually transform the more tested
and more deployed early_res code to meet the interface details of LMB.
Please also realize the difficulties Yinghai has gone through already:
converting and generalizing _all_ of the x86 early allocation code to a more
generic core kernel approach, with essentially zero interest from _any_
non-x86 person ...
Those early_res patches were posted all over on lkml, it was literally
hundreds of difficult patches, and now, months down the line, after we've
tested and upstreamed it (with many nasty regressions fixed on x86 during the
development of it) you come with a rigid "do it some other way, convert all of
x86 over again or else" position.
I really wish non-x86 architectures apprecitated (and helped) the core kernel
work x86 is doing, because it is subsidizing non-x86 architectures all the
time.
For example when LMB was plopped into lib/lmb.c in 2008 why was it not ported
to x86, our most popular architecture? Did you consider posting LMB patches
for x86 instead of expecting Yinghai to post Sparc64, PowerPC, SH and
Microblaze patches?
Anyway, i'm sure we can work out an approach, and yes, LMB looks pretty good
and could be picked up if it can be done gradually - given some mutual
willingness to work on this as equals.
Thanks,
Ingo
WARNING: multiple messages have this Message-ID (diff)
From: Ingo Molnar <mingo@elte.hu>
To: David Miller <davem@davemloft.net>,
Andrew Morton <akpm@linux-foundation.org>,
Linus Torvalds <torvalds@linux-foundation.org>
Cc: yinghai@kernel.org, benh@kernel.crashing.org, tglx@linutronix.de,
hpa@zytor.com, jbarnes@virtuousgeek.org, ebiederm@xmission.com,
linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org
Subject: Re: [PATCH 06/20] early_res: seperate common memmap func from e820.c to fw_memmap.c
Date: Mon, 22 Mar 2010 10:28:09 +0100 [thread overview]
Message-ID: <20100322092809.GA20607@elte.hu> (raw)
Message-ID: <20100322092809.lcFo6dRS8txv1ubLho8hyW6f_Ie-RB6t7N7kUEhKhRw@z> (raw)
In-Reply-To: <20100321.213350.176660494.davem@davemloft.net>
( Cc:-ed Andrew and Linus as this is a general design/policy matter wrt.
memory management. )
* David Miller <davem@davemloft.net> wrote:
> From: Yinghai Lu <yinghai@kernel.org>
> Date: Sun, 21 Mar 2010 21:28:38 -0700
>
> >>
> >> That action means you absolutely don't value our feedback at all.
> >
> > [PATCH 01/20] x86: add find_e820_area_node
> > is addressing your concern that early_res didn't handle memory cross the nodes problem.
>
> Now I know that you _REALLY_ aren't listening to us.
[ He has done a bit more than just to simply listen: he seems to have written
a patch which he thinks is addressing the concerns you pointed out. It might
not be the response you wished for (and it might be inadequate) for but it
sure gives me the impression of him listening to you - unless by 'listening'
you mean 'follow my exact opinion without argument'. ]
> We said to use LMB because 1) it already exists 2) many platforms have been
> using it for years and 3) it doesn't lack the features you're now having to
> add to e820.
The thing is, lib/lmb.c was librarized two years ago by you (much after
early_res has been written for x86), but was not properly integrated into the
core kernel nor into x86. It was first suggested by you in the early_res
context about ten days ago, when Yinghai started posting Sparc64 patches.
Which is about half a year after the whole very difficult early_res/bootmem
work was started by Yinghai :-(
I dont mind LMB per se, logically it seems quite similar to the early_res bits
Yinghai has generalized (to a certain degree), and is quite a bit cleaner as
you are writing very clean code.
Note the other side of the coin: LMB appears to be deployed on only 4 non-x86
architectures that muster ~1% of the Linux boxes while early_res is deployed
on more than 95%.
So there's a very real hardship of testing and conversion here that we cannot
ignore and an even better path may be to gradually transform the more tested
and more deployed early_res code to meet the interface details of LMB.
Please also realize the difficulties Yinghai has gone through already:
converting and generalizing _all_ of the x86 early allocation code to a more
generic core kernel approach, with essentially zero interest from _any_
non-x86 person ...
Those early_res patches were posted all over on lkml, it was literally
hundreds of difficult patches, and now, months down the line, after we've
tested and upstreamed it (with many nasty regressions fixed on x86 during the
development of it) you come with a rigid "do it some other way, convert all of
x86 over again or else" position.
I really wish non-x86 architectures apprecitated (and helped) the core kernel
work x86 is doing, because it is subsidizing non-x86 architectures all the
time.
For example when LMB was plopped into lib/lmb.c in 2008 why was it not ported
to x86, our most popular architecture? Did you consider posting LMB patches
for x86 instead of expecting Yinghai to post Sparc64, PowerPC, SH and
Microblaze patches?
Anyway, i'm sure we can work out an approach, and yes, LMB looks pretty good
and could be picked up if it can be done gradually - given some mutual
willingness to work on this as equals.
Thanks,
Ingo
next prev parent reply other threads:[~2010-03-22 9:28 UTC|newest]
Thread overview: 102+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-21 7:13 [PATCH 00/20] x86: early_res and irq_desc Yinghai Lu
2010-03-21 7:13 ` Yinghai Lu
2010-03-21 7:13 ` [PATCH 01/20] x86: add find_e820_area_node Yinghai Lu
2010-03-21 7:13 ` Yinghai Lu
2010-03-21 7:13 ` [PATCH 02/20] x86: add get_centaur_ram_top Yinghai Lu
2010-03-21 7:13 ` Yinghai Lu
2010-03-21 7:13 ` [PATCH 03/20] x86: make e820 to be static Yinghai Lu
2010-03-21 7:13 ` Yinghai Lu
2010-03-21 7:13 ` [PATCH 04/20] x86: use wake_system_ram_range instead of e820_any_mapped in agp path Yinghai Lu
2010-03-21 7:13 ` Yinghai Lu
2010-03-21 7:13 ` [PATCH 05/20] x86: make e820 to be initdata Yinghai Lu
2010-03-21 7:13 ` Yinghai Lu
2010-03-21 7:13 ` [PATCH 06/20] early_res: seperate common memmap func from e820.c to fw_memmap.c Yinghai Lu
2010-03-21 7:13 ` Yinghai Lu
2010-03-22 2:37 ` Benjamin Herrenschmidt
2010-03-22 2:46 ` Questions about SMP bootup control Zhu, Yijun (NSN - CN/Beijing)
2010-03-22 2:46 ` Zhu, Yijun (NSN - CN/Beijing)
2010-03-22 3:29 ` Andi Kleen
2010-03-22 7:45 ` Zhu, Yijun (NSN - CN/Beijing)
2010-03-22 3:56 ` [PATCH 06/20] early_res: seperate common memmap func from e820.c to fw_memmap.c Yinghai Lu
2010-03-22 4:00 ` David Miller
2010-03-22 4:28 ` Yinghai Lu
2010-03-22 4:33 ` David Miller
2010-03-22 9:28 ` Ingo Molnar [this message]
2010-03-22 9:28 ` Ingo Molnar
2010-03-22 11:30 ` Paul Mackerras
2010-03-22 13:05 ` Ingo Molnar
2010-03-22 13:05 ` Ingo Molnar
2010-03-22 21:04 ` Benjamin Herrenschmidt
2010-03-22 21:20 ` Ingo Molnar
2010-03-22 21:52 ` Benjamin Herrenschmidt
2010-03-22 22:14 ` Yinghai Lu
2010-03-22 18:18 ` [PATCH 06/20] early_res: seperate common memmap func from e820.c to fw_memmap.cy Thomas Gleixner
2010-03-22 19:37 ` Ingo Molnar
2010-03-22 20:07 ` Yinghai Lu
2010-03-22 21:08 ` Benjamin Herrenschmidt
2010-03-22 22:09 ` Thomas Gleixner
2010-03-22 22:25 ` Yinghai Lu
2010-03-22 22:53 ` Thomas Gleixner
2010-03-22 23:41 ` Yinghai Lu
2010-03-23 0:45 ` Thomas Gleixner
2010-03-23 1:04 ` Yinghai Lu
2010-03-23 1:36 ` Thomas Gleixner
2010-03-23 6:01 ` Yinghai Lu
2010-03-23 8:02 ` Ingo Molnar
2010-03-23 9:02 ` Yinghai Lu
2010-03-23 9:48 ` Ingo Molnar
2010-03-24 4:29 ` Benjamin Herrenschmidt
2010-03-24 4:44 ` Benjamin Herrenschmidt
2010-03-24 5:54 ` Yinghai Lu
2010-03-24 7:43 ` Benjamin Herrenschmidt
2010-03-24 18:37 ` Yinghai Lu
2010-03-24 9:00 ` Ingo Molnar
2010-03-24 9:32 ` Benjamin Herrenschmidt
2010-03-24 4:24 ` Benjamin Herrenschmidt
2010-03-24 6:05 ` Yinghai Lu
2010-03-22 20:47 ` [PATCH 06/20] early_res: seperate common memmap func from e820.c to fw_memmap.c Benjamin Herrenschmidt
2010-03-22 20:57 ` Ingo Molnar
2010-03-22 21:54 ` Benjamin Herrenschmidt
2010-03-23 8:53 ` Geert Uytterhoeven
2010-03-23 11:16 ` Ingo Molnar
2010-03-24 4:50 ` Benjamin Herrenschmidt
2010-03-24 5:47 ` Kyle Moffett
2010-03-22 21:57 ` Paul Mackerras
2010-03-22 21:07 ` Benjamin Herrenschmidt
2010-03-22 21:07 ` Benjamin Herrenschmidt
2010-03-22 21:01 ` Benjamin Herrenschmidt
2010-03-22 5:12 ` Benjamin Herrenschmidt
2010-03-22 6:09 ` Yinghai Lu
2010-03-22 7:05 ` Eric W. Biederman
2010-03-21 7:13 ` [PATCH 07/20] irq: move some interrupt arch_* functions into struct irq_chip Yinghai Lu
2010-03-21 7:13 ` Yinghai Lu
2010-03-21 7:13 ` [PATCH 08/20] x86: fix out of order of gsi - full Yinghai Lu
2010-03-21 7:13 ` Yinghai Lu
2010-03-21 7:13 ` [PATCH 09/20] x86: set nr_irqs_gsi only in probe_nr_irqs_gsi Yinghai Lu
2010-03-21 7:13 ` Yinghai Lu
2010-03-21 7:13 ` [PATCH 10/20] x86: kill smpboot_hooks.h Yinghai Lu
2010-03-21 7:13 ` Yinghai Lu
2010-03-21 7:13 ` [PATCH 11/20] x86: use vector_desc instead of vector_irq Yinghai Lu
2010-03-21 7:13 ` Yinghai Lu
2010-03-21 7:13 ` [PATCH 12/20] genericirq: change ack/mask in irq_chip to take irq_desc instead of irq -- x86 and core Yinghai Lu
2010-03-21 7:13 ` [PATCH 13/20] genericirq: change ack/mask in irq_chip to take irq_desc instead of irq -- other arch Yinghai Lu
2010-03-21 7:13 ` [PATCH 14/20] genericirq: add set_irq_desc_chip/data Yinghai Lu
2010-03-21 7:13 ` Yinghai Lu
2010-03-21 7:13 ` [PATCH 15/20] x86/iommu/dmar: update iommu/inter_remapping to use desc Yinghai Lu
2010-03-21 7:13 ` Yinghai Lu
2010-03-21 7:13 ` [PATCH 16/20] x86: use num_processors for possible cpus Yinghai Lu
2010-03-21 7:13 ` Yinghai Lu
2010-03-21 7:13 ` [PATCH 17/20] x86: make 32bit apic flat to physflat switch like 64bit Yinghai Lu
2010-03-21 7:13 ` Yinghai Lu
2010-03-21 7:13 ` [PATCH 18/20] x86: remove arch_probe_nr_irqs Yinghai Lu
2010-03-21 7:13 ` Yinghai Lu
2010-03-21 7:13 ` [PATCH 19/20] x86/pci: ioh new version read all at same time Yinghai Lu
2010-03-21 7:13 ` Yinghai Lu
2010-03-22 16:16 ` Jesse Barnes
2010-03-22 16:16 ` Jesse Barnes
2010-03-22 19:32 ` Yinghai Lu
2010-03-22 19:32 ` Yinghai Lu
2010-03-21 7:13 ` [PATCH 20/20] x86/pci: add mmconf range into e820 for when it is from MSR with amd faml0h Yinghai Lu
2010-03-21 7:13 ` Yinghai Lu
2010-03-22 2:35 ` [PATCH 00/20] x86: early_res and irq_desc Benjamin Herrenschmidt
2010-03-22 3:26 ` Yinghai Lu
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=20100322092809.GA20607@elte.hu \
--to=mingo@elte.hu \
--cc=akpm@linux-foundation.org \
--cc=benh@kernel.crashing.org \
--cc=davem@davemloft.net \
--cc=ebiederm@xmission.com \
--cc=hpa@zytor.com \
--cc=jbarnes@virtuousgeek.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=yinghai@kernel.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).