2002-02-26 02:07:34

by Michael Cohen

[permalink] [raw]
Subject: Submissions for 2.4.19-pre [x86 Syscall Optimizations (Alexander Khripin)]

This is the sixth of several mails containing patches to be included in 2.4.19. Some are worthy of dicussion prior to inclusion and have been marked as such. The majority of these patches were found on lkml; the remaining ones have URLs listed.

This one originated on lkml.

------
Michael Cohen
OhDarn.net

--- linux-virgin/arch/i386/kernel/entry.S Sun Jan 13 17:54:54 2002
+++ linux-wli/arch/i386/kernel/entry.S Sun Jan 13 18:09:36 2002
@@ -111,9 +111,9 @@
pushl %edi; \
pushl %esi; \
pushl %edx; \
+ movl $(__KERNEL_DS),%edx; \
pushl %ecx; \
pushl %ebx; \
- movl $(__KERNEL_DS),%edx; \
movl %edx,%ds; \
movl %edx,%es;

@@ -161,13 +161,13 @@
movl EFLAGS(%esp),%ecx # and this is cs..
movl %eax,EFLAGS(%esp) #
movl %edx,EIP(%esp) # Now we move them to their "normal" places
- movl %ecx,CS(%esp) #
movl %esp,%ebx
+ movl %ecx,CS(%esp) #
pushl %ebx
andl $-8192,%ebx # GET_CURRENT
movl exec_domain(%ebx),%edx # Get the execution domain
- movl 4(%edx),%edx # Get the lcall7 handler for the domain
pushl $0x7
+ movl 4(%edx),%edx # Get the lcall7 handler for the domain
call *%edx
addl $4, %esp
popl %eax
@@ -182,13 +182,13 @@
movl EFLAGS(%esp),%ecx # and this is cs..
movl %eax,EFLAGS(%esp) #
movl %edx,EIP(%esp) # Now we move them to their "normal" places
- movl %ecx,CS(%esp) #
movl %esp,%ebx
+ movl %ecx,CS(%esp) #
pushl %ebx
andl $-8192,%ebx # GET_CURRENT
movl exec_domain(%ebx),%edx # Get the execution domain
- movl 4(%edx),%edx # Get the lcall7 handler for the domain
pushl $0x27
+ movl 4(%edx),%edx # Get the lcall7 handler for the domain
call *%edx
addl $4, %esp
popl %eax


2002-02-26 02:20:23

by Alan

[permalink] [raw]
Subject: Re: Submissions for 2.4.19-pre [x86 Syscall Optimizations (Alexander Khripin)]

> This is the sixth of several mails containing patches to be included in 2.4.19. Some are worthy of dicussion prior to inclusion and have been marked as such. The majority of these patches were found on lkml; the remaining ones have URLs listed.
> This one originated on lkml.

Credit for the originator and an explanation would be helpful

2002-02-26 02:33:13

by Michael Cohen

[permalink] [raw]
Subject: Re: Submissions for 2.4.19-pre [x86 Syscall Optimizations (Alexander Khripin)]

On Tue, 26 Feb 2002 02:34:46 +0000 (GMT)
Alan Cox <[email protected]> wrote:

> > This is the sixth of several mails containing patches to be included in 2.4.19. Some are worthy of dicussion prior to inclusion and have been marked as such. The majority of these patches were found on lkml; the remaining ones have URLs listed.
> > This one originated on lkml.
>
> Credit for the originator and an explanation would be helpful
See Subject ^^ Alexander Khripin. Looks to me like it improves latency quite a bit during syscalls. I'm unable to find the exact mail but I believe I was referred to this particular patch by someone on lkml.

------
Michael Cohen
OhDarn.net

2002-02-26 03:19:42

by Robert Love

[permalink] [raw]
Subject: Re: Submissions for 2.4.19-pre [x86 Syscall Optimizations (Alexander Khripin)]

On Mon, 2002-02-25 at 21:32, Michael Cohen wrote:
>
> Alan Cox <[email protected]> wrote:
>
> > Credit for the originator and an explanation would be helpful
>
> See Subject ^^ Alexander Khripin. Looks to me like it improves latency
> quite a bit during syscalls. I'm unable to find the exact mail but I
> believe I was referred to this particular patch by someone on lkml.

Eh? The patch doesn't do anything but move movl ops around. I suspect
the intention may to eliminate datapath stalls, which may be a fine
micro-optimization, but I think we need some numbers first ...

Robert Love

2002-02-26 03:27:11

by Michael Cohen

[permalink] [raw]
Subject: Re: Submissions for 2.4.19-pre [x86 Syscall Optimizations (Alexander Khripin)]

On 25 Feb 2002 22:19:17 -0500
Robert Love <[email protected]> wrote:

> > See Subject ^^ Alexander Khripin. Looks to me like it improves latency
> > quite a bit during syscalls. I'm unable to find the exact mail but I
> > believe I was referred to this particular patch by someone on lkml.
>
> Eh? The patch doesn't do anything but move movl ops around. I suspect
> the intention may to eliminate datapath stalls, which may be a fine
> micro-optimization, but I think we need some numbers first ...

UNIXbench numbers on the way :)

------
Michael Cohen

2002-02-26 09:16:42

by Alan

[permalink] [raw]
Subject: Re: Submissions for 2.4.19-pre [x86 Syscall Optimizations (Alexander Khripin)]

> > Eh? The patch doesn't do anything but move movl ops around. I suspect
> > the intention may to eliminate datapath stalls, which may be a fine
> > micro-optimization, but I think we need some numbers first ...
>
> UNIXbench numbers on the way :)

Remember to get them with more than one vendor and family of processors.
Quite a lot of proposed micro-optimisations turn out to be pessimisations
except for the processor of the original proposer 8(