[Differential] [Commented On] D1711: Changes to the callout code to restore active semantics and also add a test-framework and test to validate thecallout code (and potentially for use by other tests).

rrs (Randall Stewart) phabric-noreply at FreeBSD.org
Thu Jan 29 02:23:44 UTC 2015


rrs added a comment.

Hans:

We have discussed that, and *no* it will *not* return the incorrect thing once
it can't be stopped. There is code in the callout_reset_sbt_on() that makes sure
zero is returned. The only way that zero will *not* be returned is if the PENDING
flag is set. That won't happen if the callout is the one waiting on a lock. So
the answer will be 0, and the new callout will be scheduled at the end
of the current one. However if before that can return (the callout) yes you will
get a 1, since the rescheduled callout from the first one that set the migration 
will see the subsequent migration flag and return one since that *was* rescheduled.

The exec_cancel flag is only valid or looked at in the case where the lock is set
on the callout.

REVISION DETAIL
  https://reviews.freebsd.org/D1711

To: rrs, gnn, rwatson, adrian, sbruno, lstewart, hselasky, imp
Cc: delphij, neel, erj, freebsd-net


More information about the freebsd-net mailing list