cvs commit: src/lib/libc/ia64/sys Makefile.inc getcontext.S swapcontext.S

Marcel Moolenaar marcel at FreeBSD.org
Fri Aug 1 17:49:38 PDT 2003


marcel      2003/08/01 17:49:36 PDT

  FreeBSD src repository

  Modified files:
    lib/libc/ia64/sys    Makefile.inc 
  Added files:
    lib/libc/ia64/sys    getcontext.S swapcontext.S 
  Log:
  Override the default stubs for getcontext(2) and swapcontext(2) so
  that we can flush the register stack prior to entering the kernel.
  This avoids having dirty registers and saves us from having to
  manually write them to the backing store from within the kernel.
  In that respect, flushing the RSE is both functionally required as
  well as performance optimal.
  
  On average we had 18 dirty registers when getcontext(2) was called
  from libthr. Since libthr does not switch back to a context created
  by getcontext(2), not having dealt with the dirty registers was
  harmless.
  
  Revision  Changes    Path
  1.7       +2 -2      src/lib/libc/ia64/sys/Makefile.inc
  1.1       +39 -0     src/lib/libc/ia64/sys/getcontext.S (new)
  1.1       +39 -0     src/lib/libc/ia64/sys/swapcontext.S (new)


More information about the cvs-src mailing list