FreeBSD 5.2 v/s FreeBSD 4.9 MFLOPS performance (gcc3.3.3
v/sgcc2.9.5)
Juan Tumani
jtumani55 at hotmail.com
Mon Feb 16 10:44:36 PST 2004
Wes,
I patched in the patch shown below and it didn't fix the problem, it
only changed the frequency of the spikes to 32 on/off. Please see
the second chart at this URL:
http://www.employees.org/~rsargent/flops/charts2.html
Did you run the script [long enuf] to see what frequency you experience with
the kern
pacthed on your system?
JT
>From: Wes Peters <wes at softweyr.com>
>To: des at des.no (Dag-Erling Smørgrav),Alexandr Kovalenko
><never at nevermind.kiev.ua>
>CC: freebsd-hackers at freebsd.org, Juan Tumani <jtumani55 at hotmail.com>
>Subject: Re: FreeBSD 5.2 v/s FreeBSD 4.9 MFLOPS performance (gcc3.3.3
>v/sgcc2.9.5)
>Date: Mon, 16 Feb 2004 03:52:16 -0800
>
>On Sunday 15 February 2004 12:46, Dag-Erling Smørgrav wrote:
> > Alexandr Kovalenko <never at nevermind.kiev.ua> writes:
> > > Could you please explain me this? Result is fully reproduceable.
>Please
> > > note, that the only difference is the output file name. Even resulting
> > > files match bit-to-bit. [...]
> >
> > Definitely some kind of alignment problem, but it only shows up at
> > some optimization levels and not others.
>
>I've tested the patch Dan mentioned before and the results were
>astonishing.
>Running the flops.c 1.2 program in a loop, lengthening the environment
>string
>by one byte each time, I get 8 successive runs of fast, then 8 successive
>runs of slow, where fast and slow vary between 650 and 990 mflops. With
>the
>patch, the performance is always 990, within a few percent.
>
>Should I commit this?
>
>RCS file: /big/ncvs/src/sys/kern/kern_exec.c,v
>retrieving revision 1.235
>diff -u -w -r1.235 kern_exec.c
>--- kern_exec.c 28 Dec 2003 04:37:59 -0000 1.235
>+++ kern_exec.c 11 Feb 2004 16:47:28 -0000
>@@ -1014,6 +1014,15 @@
> */
> vectp = (char **)(destp - (imgp->argc + imgp->envc + 2) *
> sizeof(char *));
>+
>+ /*
>+ * Align stack to a multiple of 0x20.
>+ * XXX vectp has the wrong type; we usually want a vm_offset_t;
>+ * the suword() family takes a void *, but should take a
>vm_offset_t.
>+ * XXX should align stack for signals too.
>+ * XXX should do this more machine/compiler-independently.
>+ */
>+ vectp = (char **)(((vm_offset_t)vectp & ~(vm_offset_t)0x1F) - 4);
>
> /*
> * vectp also becomes our initial stack base
>
>
>--
> "Where am I, and what am I doing in this handbasket?"
>
>Wes Peters Softweyr LLC
>wes at softweyr.com http://softweyr.com/
>
>_______________________________________________
>freebsd-hackers at freebsd.org mailing list
>http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
>To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"
_________________________________________________________________
Click here for a FREE online computer virus scan from McAfee.
http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963
More information about the freebsd-hackers
mailing list