[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).

hiren (hiren panchasara) phabric-noreply at FreeBSD.org
Tue Feb 17 20:03:51 UTC 2015


hiren added a comment.

>>! In D1711#96, @rrs wrote:
> Hiren:
> 
> You have the wrong structure type.
> 
> In the printf before panic it is giving you the lock that was spinning.. that
> would be in the callout_cpu structure I bet.. I mis-told you in email.
> 
> So if you did
> 
> print *(struct callout_cpu *)0xffffffff81364180
> 
> It should show you our CPU structure .. and I believe the lock should be un-held owner = 4
> Either that or 0xffffffff81364180 does not equal
> 
> &cc_cpu[0]

bah , right.


  (kgdb) print *(struct callout_cpu *)0xffffffff81364180
  $5 = {cc_lock = {lock_object = {lo_name = 0xffffffff80d03d28 "callout", lo_flags = 720896, lo_data = 0, lo_witness = 0x0}, mtx_lock = 4}, cc_exec_entity = {{
        cc_curr = 0x0, ce_migration_func = 0, ce_migration_arg = 0x0, ce_migration_cpu = 64, ce_migration_time = 0, ce_migration_prec = 0, cc_cancel = false, 
        cc_waiting = false}, {cc_curr = 0x0, ce_migration_func = 0, ce_migration_arg = 0x0, ce_migration_cpu = 64, ce_migration_time = 0, ce_migration_prec = 0, 
        cc_cancel = false, cc_waiting = false}}, cc_next = 0x0, cc_callout = 0xfffffe00006a4000, cc_callwheel = 0xfffffe00007c6000, cc_expireq = {tqh_first = 0x0, 
      tqh_last = 0xffffffff81364288}, cc_callfree = {slh_first = 0xfffffe00007c5240}, cc_firstevent = 899380454888656, cc_lastscan = 899380454354416, 
    cc_cookie = 0xfffff8000c34f100, cc_bucket = 31391, cc_ktr_event_name = "callwheel cpu 0\000\000\000\000"}

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

To: rrs, gnn, rwatson, lstewart, jhb, kostikbel, sbruno, imp, adrian, hselasky
Cc: julian, hiren, jhb, kostikbel, emaste, delphij, neel, erj, freebsd-net


More information about the freebsd-net mailing list