* gcc-2.95.3 vs gcc-3.0.4
@ 2002-02-23 4:40 Justin Piszcz
2002-02-23 4:44 ` Larry McVoy
` (2 more replies)
0 siblings, 3 replies; 24+ messages in thread
From: Justin Piszcz @ 2002-02-23 4:40 UTC (permalink / raw)
To: linux-kernel
Wow, not sure if anyone here has done any benchmarks, but look at these
build times:
Kernel 2.4.17 did compile with 3.0.4, just much much slower than 2.95.3
however.
GCC 2.95.3
Boot sector 512 bytes.
Setup is 2628 bytes.
System is 899 kB
make[1]: Leaving directory `/usr/src/linux-2.4.17/arch/i386/boot'
287.28user 23.99system 5:15.81elapsed 98%CPU (0avgtext+0avgdata
0maxresident)k
0inputs+0outputs (514864major+684661minor)pagefaults 0swaps
GCC 3.0.4
Boot sector 512 bytes.
Setup is 2628 bytes.
System is 962 kB
warning: kernel is too big for standalone boot from floppy
make[1]: Leaving directory `/usr/src/linux-2.4.17/arch/i386/boot'
406.87user 28.38system 7:23.68elapsed 98%CPU (0avgtext+0avgdata
0maxresident)k
0inputs+0outputs (546562major+989237minor)pagefaults 0swaps
^ permalink raw reply [flat|nested] 24+ messages in thread* Re: gcc-2.95.3 vs gcc-3.0.4 2002-02-23 4:40 gcc-2.95.3 vs gcc-3.0.4 Justin Piszcz @ 2002-02-23 4:44 ` Larry McVoy 2002-02-23 5:13 ` Justin Piszcz 2002-02-23 5:22 ` Andrew Morton 2002-02-23 5:40 ` hugang 2002-02-25 16:08 ` Juan Quintela 2 siblings, 2 replies; 24+ messages in thread From: Larry McVoy @ 2002-02-23 4:44 UTC (permalink / raw) To: Justin Piszcz; +Cc: linux-kernel Try 2.72, it's almost twice as fast as 2.95 for builds. For BK, at least, we don't see any benefit from the slower compiler, the code runs the same either way. On Fri, Feb 22, 2002 at 11:40:09PM -0500, Justin Piszcz wrote: > Wow, not sure if anyone here has done any benchmarks, but look at these > build times: > Kernel 2.4.17 did compile with 3.0.4, just much much slower than 2.95.3 > however. > > GCC 2.95.3 > Boot sector 512 bytes. > Setup is 2628 bytes. > System is 899 kB > make[1]: Leaving directory `/usr/src/linux-2.4.17/arch/i386/boot' > 287.28user 23.99system 5:15.81elapsed 98%CPU (0avgtext+0avgdata > 0maxresident)k > 0inputs+0outputs (514864major+684661minor)pagefaults 0swaps > > GCC 3.0.4 > Boot sector 512 bytes. > Setup is 2628 bytes. > System is 962 kB > warning: kernel is too big for standalone boot from floppy > make[1]: Leaving directory `/usr/src/linux-2.4.17/arch/i386/boot' > 406.87user 28.38system 7:23.68elapsed 98%CPU (0avgtext+0avgdata > 0maxresident)k > 0inputs+0outputs (546562major+989237minor)pagefaults 0swaps > > > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- --- Larry McVoy lm at bitmover.com http://www.bitmover.com/lm ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: gcc-2.95.3 vs gcc-3.0.4 2002-02-23 4:44 ` Larry McVoy @ 2002-02-23 5:13 ` Justin Piszcz 2002-02-23 5:22 ` Andrew Morton 1 sibling, 0 replies; 24+ messages in thread From: Justin Piszcz @ 2002-02-23 5:13 UTC (permalink / raw) To: Larry McVoy; +Cc: linux-kernel Ahh! Thanks for the information. Larry McVoy wrote: > Try 2.72, it's almost twice as fast as 2.95 for builds. For BK, at least, > we don't see any benefit from the slower compiler, the code runs the same > either way. > > On Fri, Feb 22, 2002 at 11:40:09PM -0500, Justin Piszcz wrote: > > Wow, not sure if anyone here has done any benchmarks, but look at these > > build times: > > Kernel 2.4.17 did compile with 3.0.4, just much much slower than 2.95.3 > > however. > > > > GCC 2.95.3 > > Boot sector 512 bytes. > > Setup is 2628 bytes. > > System is 899 kB > > make[1]: Leaving directory `/usr/src/linux-2.4.17/arch/i386/boot' > > 287.28user 23.99system 5:15.81elapsed 98%CPU (0avgtext+0avgdata > > 0maxresident)k > > 0inputs+0outputs (514864major+684661minor)pagefaults 0swaps > > > > GCC 3.0.4 > > Boot sector 512 bytes. > > Setup is 2628 bytes. > > System is 962 kB > > warning: kernel is too big for standalone boot from floppy > > make[1]: Leaving directory `/usr/src/linux-2.4.17/arch/i386/boot' > > 406.87user 28.38system 7:23.68elapsed 98%CPU (0avgtext+0avgdata > > 0maxresident)k > > 0inputs+0outputs (546562major+989237minor)pagefaults 0swaps > > > > > > - > > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > > the body of a message to majordomo@vger.kernel.org > > More majordomo info at http://vger.kernel.org/majordomo-info.html > > Please read the FAQ at http://www.tux.org/lkml/ > > -- > --- > Larry McVoy lm at bitmover.com http://www.bitmover.com/lm > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: gcc-2.95.3 vs gcc-3.0.4 2002-02-23 4:44 ` Larry McVoy 2002-02-23 5:13 ` Justin Piszcz @ 2002-02-23 5:22 ` Andrew Morton 2002-02-23 5:50 ` Richard Gooch ` (3 more replies) 1 sibling, 4 replies; 24+ messages in thread From: Andrew Morton @ 2002-02-23 5:22 UTC (permalink / raw) To: Larry McVoy; +Cc: Justin Piszcz, linux-kernel Larry McVoy wrote: > > Try 2.72, it's almost twice as fast as 2.95 for builds. For BK, at least, > we don't see any benefit from the slower compiler, the code runs the same > either way. > Amen. I want 2.7.2.3 back, but it was the name:value struct initialiser bug which killed that off. 2.91.66 isn't much slower than 2.7.x, and it's what I use. "almost twice as fast"? That means that 2.7.2 vs 3.x is getting up to a 3x difference. Does anyone know why? [ Of course, if you can wink-in the object file from someone else, it's not a problem. (tum, tee tum...) ] - ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: gcc-2.95.3 vs gcc-3.0.4 2002-02-23 5:22 ` Andrew Morton @ 2002-02-23 5:50 ` Richard Gooch 2002-02-23 10:31 ` Benny Sjostrand ` (2 subsequent siblings) 3 siblings, 0 replies; 24+ messages in thread From: Richard Gooch @ 2002-02-23 5:50 UTC (permalink / raw) To: Andrew Morton; +Cc: Larry McVoy, Justin Piszcz, linux-kernel Andrew Morton writes: > Larry McVoy wrote: > > > > Try 2.72, it's almost twice as fast as 2.95 for builds. For BK, at least, > > we don't see any benefit from the slower compiler, the code runs the same > > either way. > > > > Amen. > > I want 2.7.2.3 back, but it was the name:value struct initialiser > bug which killed that off. 2.91.66 isn't much slower than 2.7.x, > and it's what I use. > > "almost twice as fast"? That means that 2.7.2 vs 3.x is getting > up to a 3x difference. Does anyone know why? I'm less concerned about compilation speed than the fact that gcc 2.95.3 generates buggy code. User-space code that used to work with gcc 2.7.2 and egcs 1.1.2 now doesn't. Blech. Regards, Richard.... Permanent: rgooch@atnf.csiro.au Current: rgooch@ras.ucalgary.ca ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: gcc-2.95.3 vs gcc-3.0.4 2002-02-23 5:22 ` Andrew Morton 2002-02-23 5:50 ` Richard Gooch @ 2002-02-23 10:31 ` Benny Sjostrand 2002-02-23 15:00 ` Martin Dalecki 2002-02-25 8:07 ` Simon Kirby 3 siblings, 0 replies; 24+ messages in thread From: Benny Sjostrand @ 2002-02-23 10:31 UTC (permalink / raw) To: Andrew Morton; +Cc: Larry McVoy, Justin Piszcz, linux-kernel > > > >[ Of course, if you can wink-in the object file from someone else, > it's not a problem. (tum, tee tum...) ] > ClearCase inspired? ( tum, tee tum ... ) That's great if you have a fast network conection, eg, using the wink-in feature with CC, sometimes with slow or overloaded network it take more time wink-in a object then compile it from scrash. Winking in object-files over internet may not always be optimal. In case wih Linux kernel, you must wink in a object from someone that have exaclty the same kernel version and configuration, that may be a complex task to solve ... /Benny ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: gcc-2.95.3 vs gcc-3.0.4 2002-02-23 5:22 ` Andrew Morton 2002-02-23 5:50 ` Richard Gooch 2002-02-23 10:31 ` Benny Sjostrand @ 2002-02-23 15:00 ` Martin Dalecki 2002-02-25 8:07 ` Simon Kirby 3 siblings, 0 replies; 24+ messages in thread From: Martin Dalecki @ 2002-02-23 15:00 UTC (permalink / raw) To: Andrew Morton; +Cc: Larry McVoy, Justin Piszcz, linux-kernel Andrew Morton wrote: > Larry McVoy wrote: > >>Try 2.72, it's almost twice as fast as 2.95 for builds. For BK, at least, >>we don't see any benefit from the slower compiler, the code runs the same >>either way. >> >> > > Amen. > > I want 2.7.2.3 back, but it was the name:value struct initialiser > bug which killed that off. 2.91.66 isn't much slower than 2.7.x, > and it's what I use. > > "almost twice as fast"? That means that 2.7.2 vs 3.x is getting > up to a 3x difference. Does anyone know why? Yes. Basically the reason is a missconception what the compiler should try to optimize in GCC. > > [ Of course, if you can wink-in the object file from someone else, > it's not a problem. (tum, tee tum...) ] > > - > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > > > -- - phone: +49 214 8656 283 - job: eVision-Ventures AG, LEV .de (MY OPINIONS ARE MY OWN!) - langs: de_DE.ISO8859-1, en_US, pl_PL.ISO8859-2, last ressort: ru_RU.KOI8-R ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: gcc-2.95.3 vs gcc-3.0.4 2002-02-23 5:22 ` Andrew Morton ` (2 preceding siblings ...) 2002-02-23 15:00 ` Martin Dalecki @ 2002-02-25 8:07 ` Simon Kirby 2002-02-25 8:15 ` David S. Miller ` (2 more replies) 3 siblings, 3 replies; 24+ messages in thread From: Simon Kirby @ 2002-02-25 8:07 UTC (permalink / raw) To: linux-kernel On Fri, Feb 22, 2002 at 09:22:18PM -0800, Andrew Morton wrote: > Larry McVoy wrote: > > > > Try 2.72, it's almost twice as fast as 2.95 for builds. For BK, at least, > > we don't see any benefit from the slower compiler, the code runs the same > > either way. > > > > Amen. > > I want 2.7.2.3 back, but it was the name:value struct initialiser > bug which killed that off. 2.91.66 isn't much slower than 2.7.x, > and it's what I use. > > "almost twice as fast"? That means that 2.7.2 vs 3.x is getting > up to a 3x difference. Does anyone know why? Me too. Everybody says "it's the final code that matters", but a lot of us would be more productive if the thing would just compile faster. I've done the same (used 2723 during development/debugging) and it helped quite a lot. I remember Borland Turbo Pascal's compiler... Yes, yes, but that thing compiled insane amounts of code in split seconds on 386 hardware. Simon- [ Stormix Technologies Inc. ][ NetNation Communications Inc. ] [ sim@stormix.com ][ sim@netnation.com ] [ Opinions expressed are not necessarily those of my employers. ] ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: gcc-2.95.3 vs gcc-3.0.4 2002-02-25 8:07 ` Simon Kirby @ 2002-02-25 8:15 ` David S. Miller 2002-02-25 8:32 ` David Rees 2002-02-25 9:52 ` Markus Schaber 2 siblings, 0 replies; 24+ messages in thread From: David S. Miller @ 2002-02-25 8:15 UTC (permalink / raw) To: sim; +Cc: linux-kernel From: Simon Kirby <sim@netnation.com> Date: Mon, 25 Feb 2002 00:07:42 -0800 I remember Borland Turbo Pascal's compiler... Yes, yes, but that thing compiled insane amounts of code in split seconds on 386 hardware. Similarly for the earlier MIPS C compilers. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: gcc-2.95.3 vs gcc-3.0.4 2002-02-25 8:07 ` Simon Kirby 2002-02-25 8:15 ` David S. Miller @ 2002-02-25 8:32 ` David Rees 2002-02-25 9:32 ` Ian Castle 2002-02-25 9:52 ` Markus Schaber 2 siblings, 1 reply; 24+ messages in thread From: David Rees @ 2002-02-25 8:32 UTC (permalink / raw) To: linux-kernel, Simon Kirby On Mon, Feb 25, 2002 at 12:07:42AM -0800, Simon Kirby wrote: > > Me too. Everybody says "it's the final code that matters", but a lot of > us would be more productive if the thing would just compile faster. I've > done the same (used 2723 during development/debugging) and it helped > quite a lot. Well, that's true if you spend most of your time waiting for the compiler to run, but when it takes longer to compile AND runs slower (http://www.cs.utk.edu/~rwhaley/ATLAS/gcc30.html) you lose on both counts! Anyone have good benchmarks to run to compare raw kernel performance to see how much using RedHat's recent (2.96) or 3.0 compilers to compile the kernel perform vs the older compilers? -Dave ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: gcc-2.95.3 vs gcc-3.0.4 2002-02-25 8:32 ` David Rees @ 2002-02-25 9:32 ` Ian Castle 0 siblings, 0 replies; 24+ messages in thread From: Ian Castle @ 2002-02-25 9:32 UTC (permalink / raw) To: David Rees; +Cc: linux-kernel On Mon, 2002-02-25 at 08:32, David Rees wrote: > Well, that's true if you spend most of your time waiting for the compiler to > run, but when it takes longer to compile AND runs slower > (http://www.cs.utk.edu/~rwhaley/ATLAS/gcc30.html) you lose on both counts! > Doesn't this refer to floating point, and in particular, floating point on the Athlon. So there other problems with gcc 3.x that relate to the kernel? ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: gcc-2.95.3 vs gcc-3.0.4 2002-02-25 8:07 ` Simon Kirby 2002-02-25 8:15 ` David S. Miller 2002-02-25 8:32 ` David Rees @ 2002-02-25 9:52 ` Markus Schaber 2 siblings, 0 replies; 24+ messages in thread From: Markus Schaber @ 2002-02-25 9:52 UTC (permalink / raw) Cc: linux-kernel Hi, Simon Kirby wrote: > I remember Borland Turbo Pascal's compiler... Yes, yes, but that thing > compiled insane amounts of code in split seconds on 386 hardware. But don't forget: Pascal was designed to ease the work of compiler writers - at least ANSI Pascal is easy to compile using a single-pass recursive descent compiler. And there wasn't so much optimization. markus -- Markus Schaber - http://www.schabi.de/ Check in to another world - test a _real_ OS. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: gcc-2.95.3 vs gcc-3.0.4 2002-02-23 4:40 gcc-2.95.3 vs gcc-3.0.4 Justin Piszcz 2002-02-23 4:44 ` Larry McVoy @ 2002-02-23 5:40 ` hugang 2002-02-23 5:56 ` Andrew Morton 2002-02-25 16:08 ` Juan Quintela 2 siblings, 1 reply; 24+ messages in thread From: hugang @ 2002-02-23 5:40 UTC (permalink / raw) To: Justin Piszcz; +Cc: linux-kernel On Fri, 22 Feb 2002 23:40:09 -0500 Justin Piszcz <war@starband.net> wrote: > Wow, not sure if anyone here has done any benchmarks, but look at these > build times: > Kernel 2.4.17 did compile with 3.0.4, just much much slower than 2.95.3 > however. > > GCC 2.95.3 > Boot sector 512 bytes. > Setup is 2628 bytes. > System is 899 kB > make[1]: Leaving directory `/usr/src/linux-2.4.17/arch/i386/boot' > 287.28user 23.99system 5:15.81elapsed 98%CPU (0avgtext+0avgdata > 0maxresident)k > 0inputs+0outputs (514864major+684661minor)pagefaults 0swaps > > GCC 3.0.4 > Boot sector 512 bytes. > Setup is 2628 bytes. > System is 962 kB > warning: kernel is too big for standalone boot from floppy > make[1]: Leaving directory `/usr/src/linux-2.4.17/arch/i386/boot' > 406.87user 28.38system 7:23.68elapsed 98%CPU (0avgtext+0avgdata > 0maxresident)k > 0inputs+0outputs (546562major+989237minor)pagefaults 0swaps > Why the system size is different. Possble your use differ config. -- thanks with regards! hugang.胡刚. *********************************** Beijing Soul Technology Co.,Ltd. Tel:010-68425741/42/43/44 Fax:010-68425745 email:gang_hu@soul.com.cn web:http://www.soul.com.cn *********************************** ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: gcc-2.95.3 vs gcc-3.0.4 2002-02-23 5:40 ` hugang @ 2002-02-23 5:56 ` Andrew Morton 2002-02-23 9:25 ` Paul G. Allen 0 siblings, 1 reply; 24+ messages in thread From: Andrew Morton @ 2002-02-23 5:56 UTC (permalink / raw) To: hugang; +Cc: Justin Piszcz, linux-kernel hugang wrote: > > On Fri, 22 Feb 2002 23:40:09 -0500 > Justin Piszcz <war@starband.net> wrote: > > ... > > GCC 2.95.3 > ... > > System is 899 kB > ... > > GCC 3.0.4 > ... > > System is 962 kB > ... > > > Why the system size is different. Possble your use differ config. Later versions of gcc produce larger executables, due to more aggressive alignment of code and data. Most of this can be turned off, but the kernel build system isn't doing that. - ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: gcc-2.95.3 vs gcc-3.0.4 2002-02-23 5:56 ` Andrew Morton @ 2002-02-23 9:25 ` Paul G. Allen 2002-02-23 13:55 ` gmack ` (2 more replies) 0 siblings, 3 replies; 24+ messages in thread From: Paul G. Allen @ 2002-02-23 9:25 UTC (permalink / raw) To: Linux kernel developer's mailing list Andrew Morton wrote: > > hugang wrote: > > > > On Fri, 22 Feb 2002 23:40:09 -0500 > > Justin Piszcz <war@starband.net> wrote: > > > > ... > > > GCC 2.95.3 > > ... > > > System is 899 kB > > ... > > > GCC 3.0.4 > > ... > > > System is 962 kB > > ... > > > > > Why the system size is different. Possble your use differ config. > The important thing is: Which compiler, of all of the different versions, generates the most stable and fastest code. Compile speed and kernel size is not NEARLY as important as performance. So, which compiler fits the bill? PGA -- Paul G. Allen Owner, Sr. Engineer, Security Specialist Random Logic/Dream Park www.randomlogic.com ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: gcc-2.95.3 vs gcc-3.0.4 2002-02-23 9:25 ` Paul G. Allen @ 2002-02-23 13:55 ` gmack 2002-02-23 15:43 ` bert hubert 2002-02-25 0:07 ` Luigi Genoni 2 siblings, 0 replies; 24+ messages in thread From: gmack @ 2002-02-23 13:55 UTC (permalink / raw) To: Paul G. Allen; +Cc: Linux kernel developer's mailing list On Sat, 23 Feb 2002, Paul G. Allen wrote: > Which compiler, of all of the different versions, generates the most > stable and fastest code. Compile speed and kernel size is not NEARLY as > important as performance. So, which compiler fits the bill? > icc but only on x86 ;) -- Gerhard Mack gmack@innerfire.net <>< As a computer I find your faith in technology amusing. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: gcc-2.95.3 vs gcc-3.0.4 2002-02-23 9:25 ` Paul G. Allen 2002-02-23 13:55 ` gmack @ 2002-02-23 15:43 ` bert hubert 2002-02-25 0:07 ` Luigi Genoni 2 siblings, 0 replies; 24+ messages in thread From: bert hubert @ 2002-02-23 15:43 UTC (permalink / raw) To: Paul G. Allen; +Cc: Linux kernel developer's mailing list On Sat, Feb 23, 2002 at 09:27:21AM +0000, Paul G. Allen wrote: > Which compiler, of all of the different versions, generates the most > stable and fastest code. Compile speed and kernel size is not NEARLY as > important as performance. So, which compiler fits the bill? GCC 3.1, is what I'm told. 3.x has the infrastructure to do more optimizing, but doesn't do all of it yet. 3.1 is supposed to. Regards, bert -- http://www.PowerDNS.com Versatile DNS Software & Services http://www.tk the dot in .tk Netherlabs BV / Rent-a-Nerd.nl - Nerd Available - Linux Advanced Routing & Traffic Control: http://ds9a.nl/lartc ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: gcc-2.95.3 vs gcc-3.0.4 2002-02-23 9:25 ` Paul G. Allen 2002-02-23 13:55 ` gmack 2002-02-23 15:43 ` bert hubert @ 2002-02-25 0:07 ` Luigi Genoni 2002-02-25 0:32 ` ANN: syscalltrack v0.7 released guy keren 2002-02-25 7:48 ` gcc-2.95.3 vs gcc-3.0.4 Jakub Jelinek 2 siblings, 2 replies; 24+ messages in thread From: Luigi Genoni @ 2002-02-25 0:07 UTC (permalink / raw) To: Paul G. Allen; +Cc: Linux kernel developer's mailing list At this link: http://www.cs.utk.edu/~rwhaley/ATLAS/gcc30.html you can find an interesting explanation why code compiled with gcc 3.0 is mostly slower than code compiled with gcc 2.95 on x86 CPUs (but it is really faster on other platforms like alpha and sparc64). basically the main reasons semm to be the scheduler algorithm and the fpu stack handling, but I suggest to read the full study. I would be interested to know if this apply to gcc 3.1 too. Luigi On Sat, 23 Feb 2002, Paul G. Allen wrote: > Andrew Morton wrote: > > > > hugang wrote: > > > > > > On Fri, 22 Feb 2002 23:40:09 -0500 > > > Justin Piszcz <war@starband.net> wrote: > > > > > > ... > > > > GCC 2.95.3 > > > ... > > > > System is 899 kB > > > ... > > > > GCC 3.0.4 > > > ... > > > > System is 962 kB > > > ... > > > > > > > Why the system size is different. Possble your use differ config. > > > > The important thing is: > > Which compiler, of all of the different versions, generates the most > stable and fastest code. Compile speed and kernel size is not NEARLY as > important as performance. So, which compiler fits the bill? > > PGA > -- > Paul G. Allen > Owner, Sr. Engineer, Security Specialist > Random Logic/Dream Park > www.randomlogic.com > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > ^ permalink raw reply [flat|nested] 24+ messages in thread
* ANN: syscalltrack v0.7 released 2002-02-25 0:07 ` Luigi Genoni @ 2002-02-25 0:32 ` guy keren 2002-02-25 7:48 ` gcc-2.95.3 vs gcc-3.0.4 Jakub Jelinek 1 sibling, 0 replies; 24+ messages in thread From: guy keren @ 2002-02-25 0:32 UTC (permalink / raw) To: Linux kernel developer's mailing list syscalltrack-0.7, the 6th _alpha_ release of the linux kernel system call tracker, is available. syscalltrack supports both versions 2.2.x and 2.4.x of the linux kernel. The current release contains some major enhancements, and various bug fixes and code cleanups. See details below. * What is syscalltrack? syscalltrack is a linux kernel module and supporting user space environment which allow interception, logging and possibly taking action upon system calls that match user defined criteria (syscalltrack can be thought of as a sophisticated, system wide strace). * Where can i get it? Information on syscalltrack is available on the project's homepage: http://syscalltrack.sourceforge.net, and in the project's file release. You can download the source directly from: http://prdownloads.sourceforge.net/syscalltrack/syscalltrack-0.70.tar.gz * Call for developers: The syscalltrack project is looking for developers, both for kernel space and user space. If you want to join in on the fun, get in touch with us on the 'syscalltrack-hackers' mailing list (http://lists.sourceforge.net/lists/listinfo/syscalltrack-hackers). * License and NO Warrany 'syscalltrack' is Free Software, licensed under the GNU General Public License (GPL) version 2. The 'sct_ctrl_lib' library is licensed under the GNU Lesser General Public License (LGPL). 'syscalltrack' is in _alpha_ stages and comes with NO warranty. If it breaks something, you get to keep all of the pieces. You have been warned (TM). Happy hacking and tracking! ======================================================================= Major new features for 0.7 -------------------------- * Support for dynamic-cast of 'struct' syscall parameters when filtering based on them, and for logging. See the relevant section in doc/sct_config_manual.html for how to use this feature. Mostly useful now for checking struct parameters in socket calls, so now its possible to check if a client prorgam tries to connect to a given port or IP address, etc. * Support for 'fail syscall' actions - allows you to specify that a matching syscall invocation will prematurely return a given error code (or '0') before the system call is actually performed. Handle with care, as failing the wrong syscall invocations might render your system unuseable. Good usage example: TODO * Support for convenience-macros in rule config files. Currently supported macros include: - ipaddr("127.0.0.1") -> translates an IP address to an unsigned long in network byte-order. - htons(7) -> host to network byte-order for 'short' numbers. - usernametoid("root") -> translates user name to UID. - groupnametoid("wheel") -> translates group name to GID. * Experimental Device-driver control support - the syscalltrack kernel module can now be controlled via a device-file interface - specify "-c device_file" when running 'sct_config' to use it. The interface is currently functionaly-equivalent to the existing 'sysctl' interface - but it will be enhanced in the future to support logging via a device-file interface, getting rule list via the device-file interface, etc. * Support for 'log_format' definition per rule, to override the global 'log_format'. * Initial correctness-testing script added. Currently only runs 2 tests - will become more functional on the next release. * Support for new system calls - waitpid, close and creat. major bug fixes for version 0.7: * Fixes for white-space parsing in 'sct_config'. * Fix small memory leak when deserializing 'log' actions * Fix bug in the kernel module that would leave dangling function pointers in case a user cleared only the 'before' function pointer. This bug wasn't triggered, since sct_config always erased _all_ rules, causing this code path to remain yet unused. ======================================================================= -- guy "For world domination - press 1, or dial 0, and please hold, for the creator." -- nob o. dy ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: gcc-2.95.3 vs gcc-3.0.4 2002-02-25 0:07 ` Luigi Genoni 2002-02-25 0:32 ` ANN: syscalltrack v0.7 released guy keren @ 2002-02-25 7:48 ` Jakub Jelinek 2002-02-25 9:46 ` Luigi Genoni 1 sibling, 1 reply; 24+ messages in thread From: Jakub Jelinek @ 2002-02-25 7:48 UTC (permalink / raw) To: Luigi Genoni; +Cc: Paul G. Allen, Linux kernel developer's mailing list On Mon, Feb 25, 2002 at 01:07:42AM +0100, Luigi Genoni wrote: > At this link: > > http://www.cs.utk.edu/~rwhaley/ATLAS/gcc30.html > > you can find an interesting explanation why code compiled with gcc 3.0 is > mostly slower than code compiled with gcc 2.95 on x86 CPUs (but it is > really faster on other platforms like alpha and sparc64). > > basically the main reasons semm to be the scheduler algorithm and the fpu > stack handling, but I suggest to read the full study. > > > I would be interested to know if this apply to gcc 3.1 too. Well, concerning reg-stack, you can completely get away without it in 3.1 by using -mfpmath=sse if you are targeting Pentium 3,4 or Athlon 4,xp,mp (for float math, for higher precision only for Pentium 4). Jakub ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: gcc-2.95.3 vs gcc-3.0.4 2002-02-25 7:48 ` gcc-2.95.3 vs gcc-3.0.4 Jakub Jelinek @ 2002-02-25 9:46 ` Luigi Genoni 2002-02-25 9:59 ` Jakub Jelinek 0 siblings, 1 reply; 24+ messages in thread From: Luigi Genoni @ 2002-02-25 9:46 UTC (permalink / raw) To: Jakub Jelinek; +Cc: Paul G. Allen, Linux kernel developer's mailing list On Mon, 25 Feb 2002, Jakub Jelinek wrote: > On Mon, Feb 25, 2002 at 01:07:42AM +0100, Luigi Genoni wrote: > > At this link: > > > > http://www.cs.utk.edu/~rwhaley/ATLAS/gcc30.html > > > > you can find an interesting explanation why code compiled with gcc 3.0 is > > mostly slower than code compiled with gcc 2.95 on x86 CPUs (but it is > > really faster on other platforms like alpha and sparc64). > > > > basically the main reasons semm to be the scheduler algorithm and the fpu > > stack handling, but I suggest to read the full study. > > > > > > I would be interested to know if this apply to gcc 3.1 too. > > Well, concerning reg-stack, you can completely get away without it in 3.1 > by using -mfpmath=sse if you are targeting Pentium 3,4 or Athlon 4,xp,mp > (for float math, for higher precision only for Pentium 4). Yes, but the lot of users (like me) who are still using Athlon TB, 1330 or 1400 Mhz, and who do not have any reason to upgrade to MP since the performance gain is not really considerable, they cannot use sse instructions. So, what could they do? should they stay with gcc 2.95? ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: gcc-2.95.3 vs gcc-3.0.4 2002-02-25 9:46 ` Luigi Genoni @ 2002-02-25 9:59 ` Jakub Jelinek 2002-02-25 12:55 ` Jan Hubicka 0 siblings, 1 reply; 24+ messages in thread From: Jakub Jelinek @ 2002-02-25 9:59 UTC (permalink / raw) To: Luigi Genoni Cc: Paul G. Allen, Linux kernel developer's mailing list, gcc On Mon, Feb 25, 2002 at 10:46:52AM +0100, Luigi Genoni wrote: > > > At this link: > > > > > > http://www.cs.utk.edu/~rwhaley/ATLAS/gcc30.html > > > > > > you can find an interesting explanation why code compiled with gcc 3.0 is > > > mostly slower than code compiled with gcc 2.95 on x86 CPUs (but it is > > > really faster on other platforms like alpha and sparc64). > > > > > > basically the main reasons semm to be the scheduler algorithm and the fpu > > > stack handling, but I suggest to read the full study. > > > > > > > > > I would be interested to know if this apply to gcc 3.1 too. > > > > Well, concerning reg-stack, you can completely get away without it in 3.1 > > by using -mfpmath=sse if you are targeting Pentium 3,4 or Athlon 4,xp,mp > > (for float math, for higher precision only for Pentium 4). > > Yes, but the lot of users (like me) who are still using Athlon TB, 1330 or > 1400 Mhz, and who do not have any reason to upgrade to MP since the > performance gain is not really considerable, they cannot use sse instructions. > So, what could they do? should they stay with gcc 2.95? Linux kernel doesn't use floating point math at all, so this is irrelevant on lkml, moving to an more appropriate list... Jakub ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: gcc-2.95.3 vs gcc-3.0.4 2002-02-25 9:59 ` Jakub Jelinek @ 2002-02-25 12:55 ` Jan Hubicka 0 siblings, 0 replies; 24+ messages in thread From: Jan Hubicka @ 2002-02-25 12:55 UTC (permalink / raw) To: gcc; +Cc: Luigi Genoni, Paul G. Allen, Linux kernel developer's mailing list > On Mon, Feb 25, 2002 at 10:46:52AM +0100, Luigi Genoni wrote: > > > > At this link: > > > > > > > > http://www.cs.utk.edu/~rwhaley/ATLAS/gcc30.html > > > > > > > > you can find an interesting explanation why code compiled with gcc 3.0 is > > > > mostly slower than code compiled with gcc 2.95 on x86 CPUs (but it is > > > > really faster on other platforms like alpha and sparc64). > > > > > > > > basically the main reasons semm to be the scheduler algorithm and the fpu > > > > stack handling, but I suggest to read the full study. You should understand that this is mostly the special case. Atlas loop is hand tuned to compile well with gcc 2.x.x and 3.x.x prduces worse code on it. I've tracked down and fixed problem that made Atlas loop to run out of registers in 3.1.x so it works well again. (It is not that dificult to prepare corresponding patch for 3.0.x in case there is interest) There was nothing wrong with the scheduler and the analysis on page are somewhat missleading. Real problem was that gcc "forgotten" about posibility of using memory operand in certain cases of commutative i387 fp instructions requiring one additional register. (this happent as result of two independent major change sin the compiler) This register is not available in the loop curefully written for 8 registers and causes the performance drop. In specFP perofmrance, gcc 3.0.1 is about 4% better on specfp according to the results at http://www.suse.de/~aj/SPEC Honza > > > > > > > > > > > > I would be interested to know if this apply to gcc 3.1 too. > > > > > > Well, concerning reg-stack, you can completely get away without it in 3.1 > > > by using -mfpmath=sse if you are targeting Pentium 3,4 or Athlon 4,xp,mp > > > (for float math, for higher precision only for Pentium 4). > > > > Yes, but the lot of users (like me) who are still using Athlon TB, 1330 or > > 1400 Mhz, and who do not have any reason to upgrade to MP since the > > performance gain is not really considerable, they cannot use sse instructions. > > So, what could they do? should they stay with gcc 2.95? > > Linux kernel doesn't use floating point math at all, so this is irrelevant > on lkml, moving to an more appropriate list... > > Jakub ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: gcc-2.95.3 vs gcc-3.0.4 2002-02-23 4:40 gcc-2.95.3 vs gcc-3.0.4 Justin Piszcz 2002-02-23 4:44 ` Larry McVoy 2002-02-23 5:40 ` hugang @ 2002-02-25 16:08 ` Juan Quintela 2 siblings, 0 replies; 24+ messages in thread From: Juan Quintela @ 2002-02-25 16:08 UTC (permalink / raw) To: Justin Piszcz; +Cc: linux-kernel >>>>> "justin" == Justin Piszcz <war@starband.net> writes: justin> Wow, not sure if anyone here has done any benchmarks, but look at these justin> build times: justin> Kernel 2.4.17 did compile with 3.0.4, just much much slower than 2.95.3 justin> however. justin> GCC 2.95.3 justin> Boot sector 512 bytes. justin> Setup is 2628 bytes. justin> System is 899 kB justin> make[1]: Leaving directory `/usr/src/linux-2.4.17/arch/i386/boot' justin> 287.28user 23.99system 5:15.81elapsed 98%CPU (0avgtext+0avgdata justin> 0maxresident)k justin> 0inputs+0outputs (514864major+684661minor)pagefaults 0swaps justin> GCC 3.0.4 justin> Boot sector 512 bytes. justin> Setup is 2628 bytes. justin> System is 962 kB justin> warning: kernel is too big for standalone boot from floppy justin> make[1]: Leaving directory `/usr/src/linux-2.4.17/arch/i386/boot' justin> 406.87user 28.38system 7:23.68elapsed 98%CPU (0avgtext+0avgdata justin> 0maxresident)k justin> 0inputs+0outputs (546562major+989237minor)pagefaults 0swaps Hi, here the times chaned with the lastest 3.0.4, this is the first 3.0 compiler that is faster than 2.96 here. Compilation of a mdk kernel (i.e. a kernel with everthing as modules). (I compiled twice with both compilers & there are not variances). 2.96 2018.76user 159.29system 18:13.20elapsed 199%CPU (0avgtext+0avgdata 0maxresident )k 0inputs+0outputs (4007797major+8765072minor)pagefaults 0swaps gcc-3.0.4 1797.23user 133.06system 16:07.98elapsed 199%CPU (0avgtext+0avgdata 0maxresident )k 0inputs+0outputs (3569637major+8775450minor)pagefaults 0swaps And the size differences are not as big as they used to be: root$ ls -l vmlinux* -rwxr-xr-x 1 root root 3177771 Feb 24 18:06 vmlinux* -rwxr-xr-x 1 root root 3206468 Feb 24 17:47 vmlinux-3.0.4* root$ size vmlinux* text data bss dec hex filename 2253010 301448 423008 2977466 2d6eba vmlinux 2294630 304924 423008 3022562 2e1ee2 vmlinux-3.0.4 Until now, gcc-3.0 binaryes tend to be quite bigger than gcc-2.96. root$ rpm -qa | grep gcc | grep -v cpp gcc-2.96-0.76mdk libgcc3.0-3.0.4-1mdk gcc3.0-3.0.4-1mdk Later, Juan. -- In theory, practice and theory are the same, but in practice they are different -- Larry McVoy ^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2002-02-25 16:19 UTC | newest] Thread overview: 24+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2002-02-23 4:40 gcc-2.95.3 vs gcc-3.0.4 Justin Piszcz 2002-02-23 4:44 ` Larry McVoy 2002-02-23 5:13 ` Justin Piszcz 2002-02-23 5:22 ` Andrew Morton 2002-02-23 5:50 ` Richard Gooch 2002-02-23 10:31 ` Benny Sjostrand 2002-02-23 15:00 ` Martin Dalecki 2002-02-25 8:07 ` Simon Kirby 2002-02-25 8:15 ` David S. Miller 2002-02-25 8:32 ` David Rees 2002-02-25 9:32 ` Ian Castle 2002-02-25 9:52 ` Markus Schaber 2002-02-23 5:40 ` hugang 2002-02-23 5:56 ` Andrew Morton 2002-02-23 9:25 ` Paul G. Allen 2002-02-23 13:55 ` gmack 2002-02-23 15:43 ` bert hubert 2002-02-25 0:07 ` Luigi Genoni 2002-02-25 0:32 ` ANN: syscalltrack v0.7 released guy keren 2002-02-25 7:48 ` gcc-2.95.3 vs gcc-3.0.4 Jakub Jelinek 2002-02-25 9:46 ` Luigi Genoni 2002-02-25 9:59 ` Jakub Jelinek 2002-02-25 12:55 ` Jan Hubicka 2002-02-25 16:08 ` Juan Quintela
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox