DragonFly BSD
DragonFly commits List (threaded) for 2003-07
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

cvs commit: src/sys/i386/i386 exception.s machdep.c trap.c

From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 24 Jul 2003 16:52:36 -0700 (PDT)

dillon      2003/07/24 16:52:36 PDT

  Modified files:
    sys/i386/i386        exception.s machdep.c trap.c 
  Syscall messaging work 2: Continue with the implementation of sendsys(),
  using int 0x81.  This entry point will be responsible for sending system
  call messages or waiting for messages / port activity.
  With this commit system call messages can be run through 0x81 but at the
  moment they will always run synchronously. Here's the core interface
  code for IA32:
      static __inline int
      sendsys(void *port, void *msg, int msgsize)
  	int error;
  	__asm __volatile("int $0x81" : "=a"(error) :
  			"a"(port), "c"(msg), "d"(msgsize) : "memory");
  Performance verses a direct system call is currently excellent considering
  that this is my initial attempt.
  		600MHzC3	1.2GHzP3x2(SMP)
  getuid()	1300 ns		 909 ns
  getuid_msg()	1700 ns		1077 ns
  Revision  Changes    Path
  1.17      +0 -3      src/sys/i386/i386/exception.s
  1.28      +0 -2      src/sys/i386/i386/machdep.c
  1.27      +63 -26    src/sys/i386/i386/trap.c

[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]