All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Martin Dalecki <dalecki@evision-ventures.com>
To: Linus Torvalds <torvalds@transmeta.com>
Cc: dalecki@evision.ag, Alan Cox <alan@lxorguk.ukuu.org.uk>,
	linux-kernel@vger.kernel.org
Subject: Re: PATCH 2.4.14 mregparm=3 compilation fixes
Date: Mon, 12 Nov 2001 19:51:00 +0100	[thread overview]
Message-ID: <3BF01A14.26A5F78@evision-ventures.com> (raw)
In-Reply-To: <Pine.LNX.4.33.0111120838110.15242-100000@penguin.transmeta.com>

Linus Torvalds wrote:
> 
> On Mon, 12 Nov 2001, Martin Dalecki wrote:
> >
> > The attached patch is fixing compilation and running
> > of the kernel with -mregparm=3 on IA32. The fixes excluding
> > the change in arch/i386/Makefile of course apply to the stock kernel
> > as well, so Linus please include it in 2.4.15 - it just won't hurt...
> 
> I certainly won't enable it in the stock kernel, considering the bad track
> record gcc has had with regparm under register pressure, but the
> "asmlinkage" parts look like real fixes.

Yes that was always my intention. The chunk changing the CFLAGS wasn't
deleted from the patch only for the purpose of referrence. I did hope
that I made this clear in my announcement, but i failed apparently ;-).

Despite this I would like to make clear that I have compiled my own
"RedHat 7.2" compatible kernel-RPM set with the patch applied already
and
didn't encounter any problems thus far... Even an ORACLE DB just started
without noticing that anything changed beneath it.
Since this all was done on my notebook, I can say that there where even 
no problems with any of the "less mature" kernel parts 
like USB handling, CardBus and so on and so on
(Anybody please note: I didn't say "immature" just "less mature",
more like "fresh" no pun intendid.)

Apparently GCC got really much better in regard of this stuff recently.
I'm using RedHat GCC 2.96 brand gcc-2.96-99...
And I reiterate that I'm just happy running a whole
kernel compiled with mregparm=3 without any anomalities thus far.

> However, it's kind of sad to make some of the more timing-critical stuff
> (like schedule_tail) be asmlinkage - it might be worth it to do it the
> other way around, and make it FASTCALL() and change the assembly code to
> pass arguments in registers. That way, the calling convention is still the
> same on both regparm=3 and without, but instead of defaulting to the slow
> method we'd default to the fast one..

Yes that's right. However if you look close than you will notice, that
asmlinkage is quite a bad name. There should be a asmlinkage with
mregparm=3
ideally and a syslinkage macro for system call entry points with
mregparm=0 there.
And then fixes are fixes and with the current semantics my patch is
really just fixing bugs. (Tougth not "tragical" ones). So if I see
this fix applied I will make the above described improvements in 2.5
;-).
They are not difficult anyway, just a bit tedious... and then they would
affect a bit more code around there. In esp. the system call
declarations
and we have a lot of them already ;-).


So long...

  reply	other threads:[~2001-11-12 17:58 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-11-06  7:18 Using %cr2 to reference "current" H. Peter Anvin
2001-11-06  8:01 ` Robert Love
2001-11-06 10:55   ` Alan Cox
2001-11-06 17:31     ` Michael Barabanov
2001-11-06 14:14   ` Manfred Spraul
2001-11-06 10:58 ` Alan Cox
2001-11-06 17:04   ` Linus Torvalds
2001-11-06 17:46     ` Alan Cox
2001-11-06 17:59       ` Linus Torvalds
2001-11-06 18:14         ` Alan Cox
2001-11-06 16:55           ` Marcelo Tosatti
2001-11-06 18:14           ` Linus Torvalds
2001-11-06 18:31             ` Alan Cox
2001-11-06 22:38               ` Linus Torvalds
2001-11-07  0:00           ` Martin Dalecki
2001-11-06 23:19             ` Alan Cox
2001-11-07  0:43               ` Martin Dalecki
2001-11-07  0:27                 ` Alan Cox
2001-11-07  0:35                 ` Jeff Garzik
2001-11-07 14:00               ` Martin Dalecki
2001-11-07 13:38                 ` Alan Cox
2001-11-07 14:59                   ` Martin Dalecki
2001-11-07 14:17                     ` Alan Cox
2001-11-07 14:34                       ` Dirk Moerenhout
2001-11-07 14:54                         ` Alan Cox
2001-11-07 15:32                           ` David Howells
2001-11-07 14:39                       ` Intel compiler [Re: Using %cr2 to reference "current"] Sebastian Heidl
2001-11-07 22:05                         ` lists
2001-11-07 15:36                       ` Using %cr2 to reference "current" Martin Dalecki
2001-11-08 14:08                       ` Martin Dalecki
2001-11-13 16:49                       ` Merge BUG in 2.4.15-pre4 serial.c Martin Dalecki
2001-11-13 16:21                         ` Russell King
2001-11-13 17:37                           ` Martin Dalecki
2001-11-13 16:53                             ` Russell King
2001-11-13 18:05                               ` Martin Dalecki
2001-11-13 17:11                             ` Alan Cox
2001-11-13 18:23                               ` Martin Dalecki
2001-11-07 20:04                   ` Using %cr2 to reference "current" Andrew Morton
2001-11-11 13:16                   ` Martin Dalecki
2001-11-11 13:06                     ` Keith Owens
2001-11-12 11:28                     ` PATCH 2.4.14 mregparm=3 compilation fixes Martin Dalecki
2001-11-12 16:10                       ` Keith Owens
2001-11-12 16:25                         ` Christoph Hellwig
2001-11-12 17:56                         ` Martin Dalecki
2001-11-12 16:42                       ` Linus Torvalds
2001-11-12 18:51                         ` Martin Dalecki [this message]
2001-11-12 20:05                           ` Corsspatch patch-2.4.15-pre2 patch-2.4.15-pre3 Martin Dalecki
2001-11-12 20:13                             ` BUG BUG hunt the bugs!!! patch-2.4.15-pre5 Martin Dalecki
2001-11-06 17:02 ` Using %cr2 to reference "current" Linus Torvalds
2001-11-06 17:13   ` Benjamin LaHaise
2001-11-06 17:49     ` Linus Torvalds
2001-11-06 18:19       ` Alan Cox
2001-11-09 21:52         ` Jamie Lokier
2001-11-06 18:42       ` Benjamin LaHaise
2001-11-06 19:09         ` H. Peter Anvin
2001-11-06 19:16         ` Dave Jones
2001-11-06 20:10           ` Ricky Beam
2001-11-06 23:09           ` Alan Cox
2001-11-06 23:15             ` Dave Jones

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=3BF01A14.26A5F78@evision-ventures.com \
    --to=dalecki@evision-ventures.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=dalecki@evision.ag \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@transmeta.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.