NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/49305: deadlocks on sparc64 SMP
The following reply was made to PR kern/49305; it has been noted by GNATS.
From: Martin Husemann <martin%duskware.de@localhost>
To: matthew green <mrg%eterna.com.au@localhost>
Cc: gnats-bugs%NetBSD.org@localhost
Subject: Re: kern/49305: deadlocks on sparc64 SMP
Date: Wed, 22 Oct 2014 14:28:15 +0200
On Wed, Oct 22, 2014 at 11:12:04PM +1100, matthew green wrote:
> interesting.
>
> bool
> pktq_enqueue(pktqueue_t *pq, struct mbuf *m, const u_int hash __unused)
> {
> - const unsigned cpuid = curcpu()->ci_index /* hash % ncpu */;
[..]
> + const unsigned cpuid = hash % ncpu;
> +#endif
>
> KASSERT(kpreempt_disabled());
Note that only ether_input() passes a real hash value here (all other
callers hard code it to 0), and also that the only way to get to this
function is typically in the RX interrupt of a network driver, which
will very likely always happen on cpu0 on sparc64 (currently).
Martin
Home |
Main Index |
Thread Index |
Old Index