Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 31 Oct 2009 22:27:31 +0000 (UTC)
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/conf files.ia64 src/sys/ia64/ia64 highfp.c interrupt.c machdep.c trap.c vm_machdep.c src/sys/ia64/include md_var.h proc.h
Message-ID:  <200910312228.n9VMSQiD039054@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
marcel      2009-10-31 22:27:31 UTC

  FreeBSD src repository

  Modified files:
    sys/conf             files.ia64 
    sys/ia64/ia64        interrupt.c machdep.c trap.c vm_machdep.c 
    sys/ia64/include     md_var.h proc.h 
  Added files:
    sys/ia64/ia64        highfp.c 
  Log:
  SVN rev 198733 on 2009-10-31 22:27:31Z by marcel
  
  Reimplement the lazy FP context switching:
  o   Move all code into a single file for easier maintenance.
  o   Use a single global lock to avoid having to handle either
      multiple locks or race conditions.
  o   Make sure to disable the high FP registers after saving
      or dropping them.
  o   use msleep() to wait for the other CPU to save the high
      FP registers.
  
  This change fixes the high FP inconsistency panics.
  
  A single global lock typically serializes too much, which may
  be noticable when a lot of threads use the high FP registers,
  but in that case it's probably better to switch the high FP
  context synchronuously. Put differently: cpu_switch() should
  switch the high FP registers if the incoming and outgoing
  threads both use the high FP registers.
  
  Revision  Changes    Path
  1.101     +1 -0      src/sys/conf/files.ia64
  1.1       +181 -0    src/sys/ia64/ia64/highfp.c (new)
  1.72      +1 -8      src/sys/ia64/ia64/interrupt.c
  1.248     +0 -75     src/sys/ia64/ia64/machdep.c
  1.131     +3 -59     src/sys/ia64/ia64/trap.c
  1.97      +2 -3      src/sys/ia64/ia64/vm_machdep.c
  1.30      +2 -0      src/sys/ia64/include/md_var.h
  1.16      +0 -1      src/sys/ia64/include/proc.h



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200910312228.n9VMSQiD039054>