Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Apr 2003 02:01:54 -0700 (PDT)
From:      Nate Lawson <njl@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/dev/fxp if_fxp.c if_fxpvar.h
Message-ID:  <200304250901.h3P91sDQ081382@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
njl         2003/04/25 02:01:54 PDT

  FreeBSD src repository

  Modified files:
    sys/dev/fxp          if_fxp.c if_fxpvar.h 
  Log:
  Make fxp(4) INTR_MPSAFE (but do not enable MPSAFE just yet):
  - Add fxp_start_body() and change fxp_start() to just acquire locks and
    then call fxp_start_body().  Places that would call fxp_start() with
    locks held (mutex recursion) now call fxp_start_body() directly.
    Remove MTX_RECURSE flag from sc_mtx. [gallatin]
  - Change fxp_attach() to work without the softc lock, saving interrupt
    hooking until the head of fxp_attach().
  - Call ether_ifattach() before overriding ifp parameters. This reverts
    part of 1.155.
  - Remove multiple error paths in fxp_attach().
  - Teardown interrupt in fxp_detach() before unlocking the softc.
  - Make sure mutex is not held in fxp_release()
  - Delete the miibus instance and/or self in fxp_release(), not in
    fxp_detach().  This can happen if attach fails partway through.
  - Move ifmedia_removeall to fxp_release() since attach may fail after
    media have been allocated.
  - Add locking to fxp_suspend, fxp_resume, fxp_start, fxp_intr,
    fxp_poll, fxp_tick, fxp_ioctl, fxp_watchdog.
  - Pass in ifp to fxp_intr_body since its callers sometimes already use
    it.
  - Add compatibility define for INTR_MPSAFE for 4.x. [gallatin]
  - You don't need to bzero softc.
  
  Ideas from:     gallatin, mux
  Tested by:      >400M packets of dd/ssh, NFS, ping on i386 UP
  
  Revision  Changes    Path
  1.174     +131 -51   src/sys/dev/fxp/if_fxp.c
  1.25      +3 -0      src/sys/dev/fxp/if_fxpvar.h



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