]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Fixup r243901:
authorAttilio Rao <attilio@FreeBSD.org>
Wed, 5 Dec 2012 22:32:12 +0000 (22:32 +0000)
committerAttilio Rao <attilio@FreeBSD.org>
Wed, 5 Dec 2012 22:32:12 +0000 (22:32 +0000)
commitbdf9120c163dfda9c449458af8d5d97de1c1263a
treeb928214909b12e15cdb44b7bc8d96d862ac946f5
parente892db8fc3977e46a8cc122cbb2ecf12e16698d9
Fixup r243901:
- As the comment report, CALLOUT_LOCAL_ALLOC cannot be checked
  directly from the callout flags but might be checked by a cached
  value.  Hence, do so before to actually remove the callout, when
  needed, in softclock_call_cc().
- In softclock_call_cc() also add a comment in the waiting and deferred
  migration case explaining that the dereference should be safe
  because of the migration dereference invariants.

Additively:
- In softclock_call_cc(), for the deferred migration case, move all the
  accesses to callout structure after the comment stating the callout
  must not be destroyed.
- For consistency with this last tweak, use cached c_flags for the
  KASSERT() in the deferred migration case.  It is not strictly necessary
  but this way all the callout accesses happen after the above mentioned
  comment, improving consistency.

Pointy hat to: me
Sponsored by: Isilon Systems / EMC Corporation
Reviewed by: kib
MFC after: 2 weeks
X-MFC: 243901
sys/kern/kern_timeout.c