Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 7 Apr 2002 19:42:55 -0700 (PDT)
From:      Jeff Roberson <jeff@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/vm uma_core.c uma_int.h
Message-ID:  <200204080242.g382gtH49929@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
jeff        2002/04/07 19:42:55 PDT

  Modified files:
    sys/vm               uma_core.c uma_int.h 
  Log:
  Rework most of the bucket allocation and free code so that per cpu locks are
  never held across blocking operations.  Also, fix two other lock order
  reversals that were exposed by jhb's witness change.
  
  The free path previously had a bug that would cause it to skip the free bucket
  list in some cases and go straight to allocating a new bucket.  This has been
  fixed as well.
  
  These changes made the bucket handling code much cleaner and removed quite a
  few lock operations.  This should be marginally faster now.
  
  It is now possible to call malloc w/o Giant and avoid any witness warnings.
  This still isn't entirely safe though because malloc_type statistics are not
  protected by any lock.
  
  Revision  Changes    Path
  1.7       +191 -214  src/sys/vm/uma_core.c
  1.5       +2 -1      src/sys/vm/uma_int.h

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




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