Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Nov 2009 13:07:01 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/amd64/amd64 initcpu.c machdep.c src/sys/amd64/include md_var.h
Message-ID:  <200911131307.nADD7DXk050383@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
kib         2009-11-13 13:07:01 UTC

  FreeBSD src repository

  Modified files:
    sys/amd64/amd64      initcpu.c machdep.c 
    sys/amd64/include    md_var.h 
  Log:
  SVN rev 199253 on 2009-11-13 13:07:01Z by kib
  
  Amd64 init_secondary() calls initializecpu() while curthread is still
  not properly set up. r199067 added the call to TUNABLE_INT_FETCH() to
  initializecpu() that results in hang because AP are started when kernel
  environment is already dynamic and thus needs to acquire mutex, that is
  too early in AP start sequence to work.
  
  Extract the code that should be executed only once, because it sets
  up global variables, from initializecpu() to initializecpucache(),
  and call the later only from hammer_time() executed on BSP. Now,
  TUNABLE_INT_FETCH() is done only once at BSP at the early boot stage.
  
  In collaboration with:  Mykola Dzham <freebsd levsha org ua>
  Reviewed by:    jhb
  Tested by:      ed, battlez
  
  Revision  Changes    Path
  1.59      +5 -0      src/sys/amd64/amd64/initcpu.c
  1.712     +1 -0      src/sys/amd64/amd64/machdep.c
  1.87      +1 -0      src/sys/amd64/include/md_var.h



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