From: Will L Givens on

> The patch is not suitable, IMHO, for the kernel as it stands. Some of
> us prefer the small-data model as we must boot off a slow medium that
> is supported by SRM. Using large-data results in a larger code size.
>
> It would be nice if the build system could detect the need for the
> large-data model before compilation but I can't see how to do that
> without actually compiling the kernel.
>
> Therefore I suggest a kernel config item be added to optionally remove
> the -msmall-data compiler option for those who are building kernels
> with data areas greater than 64kB. I'll drum up a patch later today.
>
> Cheers
> Michael.

Actually I added several modules into the kernel (raid0/1, router protocols,
and subsystem for TV cards)and it was about 100KB smaller. If push came to
shove, you could simply strip the symbols from the kernel (strip -s vmlinux)
and modules and use gzip -9 (done it in the past and it works fine). Another
thing, how could 2MB make that big of a different on boot time? I used to
use an old 50MB AT drive on my UP2000 (OS installed to 2 IDE drives via a
non-bootable Promise card)and it read at 1MB/s. So, at worst, you're talking
about maybe a 1 to 2 second difference?

Just tested it on my currently modules, went from 35MB to 19MB... not too
shabby.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Michael Cree on
On 17/03/10 08:34, Ra�l Porcel wrote:
> Have one.
>
> My error is as follows:
>
> net/built-in.o: In function `svc_auth_unregister':
> (.text+0xb822c): relocation truncated to fit: GPREL16 against `.sbss'

Right, I've confirmed that with the supplied config. What's happening
is that the small data area (where certain static data are stored) has
exceeded 64kB which is the limit under the small data model. As noted
elsewhere on this thread it can be solved by compiling with the large
data model, but that incurs extra CPU instructions whenever the data
area is accessed.

A better solution, in my view, is to concert some drivers to modules. I
note that the config has a large number of devices to be built (some of
which are denoted as having been tested on x86/x86_64/ia64 only). I
converted a few drivers, and most of the selected filesystems (do you
really need them all at boot time?) into modules. The kernel then
builds correctly.

But if people insist on being able to build impractical monolithic
kernels on Alpha I will post my patch to add a kernel option for the
large data model.

Cheers
Michael.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Will L Givens on


> -----Original Message-----
> From: Michael Cree [mailto:mcree(a)orcon.net.nz]
> Sent: Wednesday, March 17, 2010 02:34
> To: Ra�l Porcel
> Cc: Matt Turner; Will L Givens; linux-kernel(a)vger.kernel.org; linux-
> alpha(a)vger.kernel.org
> Subject: Re: Will's kernel compilation error
>
> On 17/03/10 08:34, Ra�l Porcel wrote:
> > Have one.
> >
> > My error is as follows:
> >
> > net/built-in.o: In function `svc_auth_unregister':
> > (.text+0xb822c): relocation truncated to fit: GPREL16 against `.sbss'
>
> Right, I've confirmed that with the supplied config. What's happening
> is that the small data area (where certain static data are stored) has
> exceeded 64kB which is the limit under the small data model. As noted
> elsewhere on this thread it can be solved by compiling with the large
> data model, but that incurs extra CPU instructions whenever the data
> area is accessed.
>
> A better solution, in my view, is to concert some drivers to modules.
> I
> note that the config has a large number of devices to be built (some of
> which are denoted as having been tested on x86/x86_64/ia64 only). I
> converted a few drivers, and most of the selected filesystems (do you
> really need them all at boot time?) into modules. The kernel then
> builds correctly.
>
> But if people insist on being able to build impractical monolithic
> kernels on Alpha I will post my patch to add a kernel option for the
> large data model.
>
> Cheers
> Michael.

Well a monolithic kernel, which mine isn't, actually runs faster than a
modular one despite being larger... that's been proven several times over
the years. In the past I used to roll monolithic kernels simply for
emergency boot situations and because kernel modules were notorious for not
compiling properly with all kinds of undefined symbols... rolling them into
the kernel was a quick fix. Do you honestly believe all those different
modules, written by a slew of different people, will build properly let
alone function properly? Kernel-2.6.34-rc1 is the FIRST one that I've seen
where the netfilter modules all compiled!

Another thing, some components 'have' to be built into the kernel because
they won't automatically load or the kernel config makes it mandatory. The
auto load function of past kernels has been pretty iffy at best and granted
I've yet to actually load this release, I do have my doubts. So important
things such as my aic7xxx drivers, ali drivers, 751 chipset, etc. I roll
into the kernel itself.

The things that you've stated I can understand but on when you get right
down to it, it's not a major issue. My 'monolithic' kernel is only 1.9MB @
89MB/s. Personally I feel they should make small-data an patch addon, it
would save a lot of people a some grief. Some ppl will select them (modules)
either intentionally or by accident and the majority of folks are not
running AT HDD's on a flaky IDE controller. Sincerely Will L G

PS Whatever you guys decide please make it obvious... the aboot/kernel
change a few years ago, caused a lot of Alpha Linux users to bug out...
About the only ppl aware of the change was Ivan and a handful of Debian
folks.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Justin P. Mattock on
On 03/17/2010 01:55 AM, Will L Givens wrote:
>
>
>> -----Original Message-----
>> From: Michael Cree [mailto:mcree(a)orcon.net.nz]
>> Sent: Wednesday, March 17, 2010 02:34
>> To: Ra�l Porcel
>> Cc: Matt Turner; Will L Givens; linux-kernel(a)vger.kernel.org; linux-
>> alpha(a)vger.kernel.org
>> Subject: Re: Will's kernel compilation error
>>
>> On 17/03/10 08:34, Ra�l Porcel wrote:
>>> Have one.
>>>
>>> My error is as follows:
>>>
>>> net/built-in.o: In function `svc_auth_unregister':
>>> (.text+0xb822c): relocation truncated to fit: GPREL16 against `.sbss'
>>
>> Right, I've confirmed that with the supplied config. What's happening
>> is that the small data area (where certain static data are stored) has
>> exceeded 64kB which is the limit under the small data model. As noted
>> elsewhere on this thread it can be solved by compiling with the large
>> data model, but that incurs extra CPU instructions whenever the data
>> area is accessed.
>>
>> A better solution, in my view, is to concert some drivers to modules.
>> I
>> note that the config has a large number of devices to be built (some of
>> which are denoted as having been tested on x86/x86_64/ia64 only). I
>> converted a few drivers, and most of the selected filesystems (do you
>> really need them all at boot time?) into modules. The kernel then
>> builds correctly.
>>
>> But if people insist on being able to build impractical monolithic
>> kernels on Alpha I will post my patch to add a kernel option for the
>> large data model.
>>
>> Cheers
>> Michael.
>
> Well a monolithic kernel, which mine isn't, actually runs faster than a
> modular one despite being larger... that's been proven several times over
> the years. In the past I used to roll monolithic kernels simply for
> emergency boot situations and because kernel modules were notorious for not
> compiling properly with all kinds of undefined symbols... rolling them into
> the kernel was a quick fix. Do you honestly believe all those different
> modules, written by a slew of different people, will build properly let
> alone function properly? Kernel-2.6.34-rc1 is the FIRST one that I've seen
> where the netfilter modules all compiled!
>
> Another thing, some components 'have' to be built into the kernel because
> they won't automatically load or the kernel config makes it mandatory. The
> auto load function of past kernels has been pretty iffy at best and granted
> I've yet to actually load this release, I do have my doubts. So important
> things such as my aic7xxx drivers, ali drivers, 751 chipset, etc. I roll
> into the kernel itself.
>
> The things that you've stated I can understand but on when you get right
> down to it, it's not a major issue. My 'monolithic' kernel is only 1.9MB @
> 89MB/s. Personally I feel they should make small-data an patch addon, it
> would save a lot of people a some grief. Some ppl will select them (modules)
> either intentionally or by accident and the majority of folks are not
> running AT HDD's on a flaky IDE controller. Sincerely Will L G
>
> PS Whatever you guys decide please make it obvious... the aboot/kernel
> change a few years ago, caused a lot of Alpha Linux users to bug out...
> About the only ppl aware of the change was Ivan and a handful of Debian
> folks.
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo(a)vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
can you bisect this?

Justin P.Mattock
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/