From owner-freebsd-alpha Mon Jun 7 10:25:23 1999 Delivered-To: freebsd-alpha@freebsd.org Received: from wall.polstra.com (rtrwan160.accessone.com [206.213.115.74]) by hub.freebsd.org (Postfix) with ESMTP id 2CF1414D92; Mon, 7 Jun 1999 10:25:17 -0700 (PDT) (envelope-from jdp@polstra.com) Received: from vashon.polstra.com (vashon.polstra.com [206.213.73.13]) by wall.polstra.com (8.9.3/8.9.1) with ESMTP id KAA27733; Mon, 7 Jun 1999 10:25:16 -0700 (PDT) (envelope-from jdp@polstra.com) Received: (from jdp@localhost) by vashon.polstra.com (8.9.3/8.9.1) id KAA36233; Mon, 7 Jun 1999 10:25:15 -0700 (PDT) (envelope-from jdp@polstra.com) Message-ID: X-Mailer: XFMail 1.3 [p0] on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <14171.60400.466517.68187Y@ett.sat.t.u-tokyo.ac.jp> Date: Mon, 07 Jun 1999 10:25:15 -0700 (PDT) Organization: Polstra & Co., Inc. From: John Polstra To: Hidetoshi Shimokawa Subject: Re: cvs commit: src/lib/csu/alpha crtbegin.c Cc: freebsd-alpha@FreeBSD.org, jdp@FreeBSD.org Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Hidetoshi Shimokawa wrote: > I noticed that some large dynamic linked program is slow on alpha. ... > 2) run 'LD_DEBUG=yes /usr/libexec/elf/gdb' > ... > ... > "malloc" in "gdb" ==> 0x1602a9580 in "libc.so.3" > where (0x120187bc0) 0x1602a9580 -> 0x1602a9580 > "malloc" in "gdb" ==> 0x1602a9580 in "libc.so.3" > where (0x120187bc0) 0x1602a9580 -> 0x1602a9580 > "memcpy" in "gdb" ==> 0x1602a9c40 in "libc.so.3" > where (0x120187bb8) 0x1602a9c40 -> 0x1602a9c40 > "malloc" in "gdb" ==> 0x1602a9580 in "libc.so.3" > where (0x120187bc0) 0x1602a9580 -> 0x1602a9580 > "malloc" in "gdb" ==> 0x1602a9580 in "libc.so.3" > where (0x120187bc0) 0x1602a9580 -> 0x1602a9580 > "malloc" in "gdb" ==> 0x1602a9580 in "libc.so.3" > where (0x120187bc0) 0x1602a9580 -> 0x1602a9580 > "memcpy" in "gdb" ==> 0x1602a9c40 in "libc.so.3" > where (0x120187bb8) 0x1602a9c40 -> 0x1602a9c40 > "malloc" in "gdb" ==> 0x1602a9580 in "libc.so.3" > ... > ... > > I think rewriting jump slot should be once for each function. I agree, something is very wrong. This could have a huge impact on performance. It means there is a symbol lookup for _every_ external function call. I'll look for the problem as soon as I can -- but probably not until after USENIX. > This problem seems still exist after make world with this commit. Yes, my commit wouldn't affect it. Thanks for finding this problem! John --- John Polstra jdp@polstra.com John D. Polstra & Co., Inc. Seattle, Washington USA "Self-interest is the aphrodisiac of belief." -- James V. DeLong To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message