Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Jul 2004 11:58:25 +0200
From:      "Willem Jan Withagen" <wjw@withagen.nl>
To:        "Alan Cox" <alc@cs.rice.edu>, "Robert Watson" <rwatson@FreeBSD.ORG>
Cc:        jhb@FreeBSD.ORG
Subject:   Re: Fatal LOR: PV ENTRY (UMA zone) @ /home2/src/sys/vm/uma_core.c:2033
Message-ID:  <035e01c47489$6d983650$471b3dd4@digiware.nl>
References:  <022801c47429$b8957420$471b3dd4@digiware.nl> <Pine.NEB.3.96L.1040727184919.3788J-100000@fledge.watson.org> <20040728035340.GA18577@cs.rice.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
From: "Alan Cox" <alc@cs.rice.edu>
Subject: Re: Fatal LOR: PV ENTRY (UMA zone) @ /home2/src/sys/vm/uma_core.c:2033


> The lock-order reversal that precedes this panic makes little sense:
>
> lock order reversal
>  1st 0xffffff007fed7c10 PV ENTRY (UMA zone) @
/home2/src/sys/vm/uma_core.c:2033
>  2nd 0xffffffff8063dce0 UMA pcpu (UMA pcpu) @
/home2/src/sys/vm/uma_core.c:2015
>
> This corresponds to:
>
> void
> uma_zfree_arg(uma_zone_t zone, void *item, void *udata)
> {
> ...
> zfree_restart:
> cpu = PCPU_GET(cpuid);
> CPU_LOCK(cpu); *** 2nd ***
> cache = &zone->uz_cpu[cpu];
>
> zfree_start:
> bucket = cache->uc_freebucket;
>
> if (bucket) {
> /*
> * Do we have room in our bucket? It is OK for this uz count
> * check to be slightly out of sync.
> */
>
> if (bucket->ub_cnt < bucket->ub_entries) {
> KASSERT(bucket->ub_bucket[bucket->ub_cnt] == NULL,
>     ("uma_zfree: Freeing to non free bucket index."));
> bucket->ub_bucket[bucket->ub_cnt] = item;
> bucket->ub_cnt++;
> #ifdef INVARIANTS
> ZONE_LOCK(zone); *** 1st ***
> if (keg->uk_flags & UMA_ZONE_MALLOC)
> uma_dbg_free(zone, udata, item);
> else
> uma_dbg_free(zone, NULL, item);
> ZONE_UNLOCK(zone);
> #endif
> CPU_UNLOCK(cpu);
> return;

As per Alan suggestion of "faulty/bad designed" hardware, I've also ordered a
Tyan Tiger board. But the mailorder company messed the order, and now al of a
sudden they are sold out. :( So it won't be for another week that I'll get the
board. Right before I go sailing for a week.
So only after that I'll be running on new hardware....

Note that with this mornings CURRENT it does seem to survive my standard
abuse...
PREEMPTION is included with this kernel

--WjW



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?035e01c47489$6d983650$471b3dd4>