Article: System call optimization with the SYSENTER instruction

From: John Gulbrandsen (no_at_spam.com)
Date: 09/19/04


Date: Sun, 19 Sep 2004 13:05:53 -0700

Hi,

I put up a new article on my web site that might be of interest:

System call optimization with the SYSENTER instruction
My previous article "How do Windows NT system calls REALLY work?" explains
how Windows NT calls system services by using an 'int 2e' software
interrupt. Newer platforms such as Windows XP and 2003 normally use another
method to call system services. Like explained in my previous article, the
'int 2e' instruction uses both an interrupt gate and a code segment
descriptor to find the interrupt service routine (KiSystemService) which
services the 'int 2e' software interrupt. Since the CPU will have to load
one interrupt gate and one segment descriptor from memory in order to know
what interrupt service routine to call, significant overhead is involved in
making an 'int 2e' system call. The SYSENTER instruction drastically reduces
this overhead.

Regards,
/John.

-- --------------------------------------------
John Gulbrandsen, Summit Soft Consulting
Windows Systems Programming

26895 Aliso Creek Rd. Suite B504
Aliso Viejo, CA 92656-5301

Phone (877) 839-2543
Fax (877) 349-1818

John d$o%t Gulbrandsen $a%t SummitSoftConsulting $d$o%t com
(remove the junk characters to email me)
--------------------------------------------



Relevant Pages