cvs commit: src/sys/vm uma_core.c

Robert Watson rwatson at FreeBSD.org
Sat Jul 16 09:40:35 GMT 2005


rwatson     2005-07-16 09:40:35 UTC

  FreeBSD src repository

  Modified files:
    sys/vm               uma_core.c 
  Log:
  Move the unlocking of the zone mutex in sysctl_vm_zone_stats() so that
  it covers the following of the uc_alloc/freebucket cache pointers.
  Originally, I felt that the race wasn't helped by holding the mutex,
  hence a comment in the code and not holding it across the cache access.
  However, it does improve consistency, as while it doesn't prevent
  bucket exchange, it does prevent bucket pointer invalidation.  So a
  race in gathering cache free space statistics still can occur, but not
  one that follows an invalid bucket pointer, if the mutex is held.
  
  Submitted by:   yongari
  MFC after:      1 week
  
  Revision  Changes    Path
  1.125     +9 -5      src/sys/vm/uma_core.c


More information about the cvs-all mailing list