Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(497)

Issue 4817054: code review 4817054: runtime, syscall: use the vdso page on linux x86 for fa... (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
12 years, 9 months ago by paulzhol
Modified:
12 years, 8 months ago
Reviewers:
CC:
rsc, iant, golang-dev
Visibility:
Public.

Description

runtime, syscall: use the vdso page on linux x86 for faster syscalls instead of int $0x80. 8l: fix handling CALL $(constant) code generated by 8a. 8a,8l: add indirect call instruction: CALL *data(SB).

Patch Set 1 #

Patch Set 2 : diff -r ac36ef8727b4 https://go.googlecode.com/hg/ #

Total comments: 11

Patch Set 3 : diff -r 6f83246236f3 https://go.googlecode.com/hg/ #

Patch Set 4 : diff -r 6f83246236f3 https://go.googlecode.com/hg/ #

Total comments: 5

Patch Set 5 : diff -r ae3b2b092cf7 https://go.googlecode.com/hg/ #

Total comments: 2

Patch Set 6 : diff -r 8f3ebf92c17d https://go.googlecode.com/hg/ #

Total comments: 2

Patch Set 7 : diff -r 18c733109246 http://go.googlecode.com/hg/ #

Unified diffs Side-by-side diffs Delta from patch set Stats (+100 lines, -32 lines) Patch
M src/cmd/8a/a.y View 1 2 3 4 1 chunk +7 lines, -0 lines 0 comments Download
M src/cmd/8l/l.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M src/cmd/8l/optab.c View 1 2 3 4 2 chunks +2 lines, -1 line 0 comments Download
M src/cmd/8l/pass.c View 1 2 3 4 1 chunk +5 lines, -2 lines 0 comments Download
M src/cmd/8l/span.c View 1 2 3 4 5 2 chunks +14 lines, -0 lines 0 comments Download
M src/cmd/ld/data.c View 1 2 3 4 5 6 1 chunk +5 lines, -1 line 0 comments Download
M src/pkg/runtime/linux/386/rt0.s View 1 2 3 1 chunk +9 lines, -1 line 0 comments Download
M src/pkg/runtime/linux/386/signal.c View 1 2 1 chunk +24 lines, -0 lines 0 comments Download
M src/pkg/runtime/linux/386/sys.s View 1 2 3 4 5 6 17 chunks +26 lines, -20 lines 0 comments Download
M src/pkg/syscall/asm_linux_386.s View 1 2 7 chunks +7 lines, -7 lines 0 comments Download

Messages

Total messages: 21
paulzhol
Hello golang-dev@googlegroups.com, I'd like you to review this change to https://go.googlecode.com/hg/
12 years, 9 months ago (2011-07-27 14:33:58 UTC) #1
paulzhol
http://codereview.appspot.com/4817054/diff/2001/src/pkg/runtime/linux/386/sys.s File src/pkg/runtime/linux/386/sys.s (right): http://codereview.appspot.com/4817054/diff/2001/src/pkg/runtime/linux/386/sys.s#newcode119 src/pkg/runtime/linux/386/sys.s:119: INT $0x80 using VDSO_SYSENTER instead causes http/cgi test to ...
12 years, 9 months ago (2011-07-27 14:34:34 UTC) #2
rsc
this is pretty ugly. how much faster is it?
12 years, 9 months ago (2011-07-27 16:04:51 UTC) #3
paulzhol
On Wed, Jul 27, 2011 at 7:04 PM, Russ Cox <rsc@golang.org> wrote: > this is ...
12 years, 9 months ago (2011-07-27 16:51:16 UTC) #4
paulzhol
ok this is pretty synthetic, but.. import "testing" import "syscall" func BenchmarkSyscallRate(b *testing.B) { for ...
12 years, 9 months ago (2011-07-28 07:15:21 UTC) #5
rsc
Is a similar change necessary on amd64? http://codereview.appspot.com/4817054/diff/2001/src/pkg/runtime/linux/386/rt0.s File src/pkg/runtime/linux/386/rt0.s (right): http://codereview.appspot.com/4817054/diff/2001/src/pkg/runtime/linux/386/rt0.s#newcode11 src/pkg/runtime/linux/386/rt0.s:11: TEXT runtime·_fallback_vdso(SB),7,$0 ...
12 years, 9 months ago (2011-08-03 20:15:03 UTC) #6
iant2
rsc@golang.org writes: > Is a similar change necessary on amd64? No. amd64 already uses syscall. ...
12 years, 9 months ago (2011-08-03 20:32:02 UTC) #7
iant
LGTM
12 years, 9 months ago (2011-08-03 20:39:58 UTC) #8
paulzhol
Hi! CALL *runtime·_vdso does not parse (CALL *0x12345 can be derived from omem->con though). I've ...
12 years, 9 months ago (2011-08-05 16:14:23 UTC) #9
rsc
> Why is the stack change affecting an address in the .data segment? The > ...
12 years, 9 months ago (2011-08-05 16:17:42 UTC) #10
paulzhol
Hi! I got 8l to work with the CALL *data(SB) 8a is now generating but ...
12 years, 8 months ago (2011-08-12 17:23:50 UTC) #11
rsc
http://codereview.appspot.com/4817054/diff/25001/src/cmd/8l/optab.c File src/cmd/8l/optab.c (right): http://codereview.appspot.com/4817054/diff/25001/src/cmd/8l/optab.c#newcode262 src/cmd/8l/optab.c:262: Ynone, Yi32, Zcallcon, 2, This change looks wrong. Why ...
12 years, 8 months ago (2011-08-16 21:25:31 UTC) #12
paulzhol
I though I could reuse Zcallcon, or at least fix it.. right now without my ...
12 years, 8 months ago (2011-08-17 05:53:29 UTC) #13
rsc
http://codereview.appspot.com/4817054/diff/25001/src/cmd/8l/pass.c File src/cmd/8l/pass.c (right): http://codereview.appspot.com/4817054/diff/25001/src/cmd/8l/pass.c#newcode315 src/cmd/8l/pass.c:315: if((s->type&~SSUB) == SBSS) { On 2011/08/17 05:53:29, paulzhol wrote: ...
12 years, 8 months ago (2011-08-17 20:52:15 UTC) #14
paulzhol
Thanks for the pointer! What about CALL $0x12345, is it even valid ? It probably ...
12 years, 8 months ago (2011-08-17 21:17:25 UTC) #15
rsc
> What about CALL $0x12345, is it even valid ? I don't believe it is. ...
12 years, 8 months ago (2011-08-17 22:00:21 UTC) #16
paulzhol
Hi! Changeset 5520e99adddd was "accept CALL $(constant) to call absolute PC" way back in 2009, ...
12 years, 8 months ago (2011-08-21 19:48:32 UTC) #17
paulzhol
Ping ?
12 years, 8 months ago (2011-08-29 05:30:26 UTC) #18
rsc
LGTM please fix + hg mail http://codereview.appspot.com/4817054/diff/43001/src/cmd/ld/data.c File src/cmd/ld/data.c (right): http://codereview.appspot.com/4817054/diff/43001/src/cmd/ld/data.c#newcode186 src/cmd/ld/data.c:186: o = (r->sym ...
12 years, 8 months ago (2011-08-29 13:38:09 UTC) #19
paulzhol
Hello rsc@golang.org, iant@golang.org (cc: golang-dev@googlegroups.com), Please take another look.
12 years, 8 months ago (2011-08-29 14:07:02 UTC) #20
rsc
12 years, 8 months ago (2011-08-29 14:36:12 UTC) #21
*** Submitted as http://code.google.com/p/go/source/detail?r=6faab0699280 ***

runtime, syscall: use the vdso page on linux x86 for faster syscalls instead of
int $0x80.
8l: fix handling CALL $(constant) code generated by 8a.
8a,8l: add indirect call instruction: CALL *data(SB).

R=rsc, iant
CC=golang-dev
http://codereview.appspot.com/4817054

Committer: Russ Cox <rsc@golang.org>
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b