Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Nov 2006 16:49:55 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-sparc64@freebsd.org
Cc:        current@freebsd.org, Peter Jeremy <peterjeremy@optushome.com.au>, Kip Macy <kip.macy@gmail.com>, FreeBSD Tinderbox <tinderbox@freebsd.org>, sparc64@freebsd.org, John Birrell <jb@what-creek.com>
Subject:   Re: [head tinderbox] failure on sparc64/sun4v
Message-ID:  <200611061649.56193.jhb@freebsd.org>
In-Reply-To: <20061104110644.GE854@turion.vk2pj.dyndns.org>
References:  <20061104060421.6145773068@freebsd-current.sentex.ca> <b1fa29170611032346x5803847esad273b1965cbddcd@mail.gmail.com> <20061104110644.GE854@turion.vk2pj.dyndns.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Saturday 04 November 2006 06:06, Peter Jeremy wrote:
> On Fri, 2006-Nov-03 23:46:27 -0800, Kip Macy wrote:
> >Sparc64 only supports CAS on 4 and 8 byte quantities. The only
> >operation it support on 16 bytes is load.
> 
> The '16' in 'atomic_add_16' is bits.  Few RISC architectures can
> support atomic operations (or primitives to build atomic ops) on
> anything other than their native word side and 32 bits.
> 
> The problem is that SCTP is using a 16-bit refcnt and trying to
> manipulate it atomically.  This is problematic on anything except i386
> and amd64.  The easiest solution seems to be to change refcnt to an
> [u]int - though I'm not sure what other impacts this may have.

And if possible it should just use 'refcount_*()' instead of 'atomic_*()' 
directly.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200611061649.56193.jhb>