[Bug 204764] Filesystem deadlock, process in vodead state

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue Jun 21 17:50:23 UTC 2016


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=204764

--- Comment #26 from commit-hook at freebsd.org ---
A commit references this bug:

Author: kib
Date: Tue Jun 21 17:49:33 UTC 2016
New revision: 302063
URL: https://svnweb.freebsd.org/changeset/base/302063

Log:
  The vmtotal sysctl handler marks active vm objects to calculate
  statistics.  Marking is done by setting the OBJ_ACTIVE flag.  The
  flags change is locked, but the problem is that many parts of system
  assume that vm object initialization ensures that no other code could
  change the object, and thus performed lockless.  The end result is
  corrupted flags in vm objects, most visible is spurious OBJ_DEAD flag,
  causing random hangs.

  Avoid the active object marking, instead provide equally inexact but
  immutable is_object_alive() definition for the object mapped state.

  Avoid iterating over the processes mappings altogether by using
  arguably improved definition of the paging thread as one which sleeps
  on the v_free_count.

  PR:   204764
  Diagnosed by: pho
  Tested by:    pho (previous version)
  Reviewed by:  alc
  Sponsored by: The FreeBSD Foundation
  MFC after:    1 week
  Approved by:  re (gjb)

Changes:
  head/sys/vm/vm_meter.c
  head/sys/vm/vm_object.h

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-fs mailing list