Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 14 Feb 2015 11:03:12 +0000
From:      "andrew (Andrew Turner)" <phabric-noreply@FreeBSD.org>
To:        freebsd-arm@freebsd.org
Subject:   [Differential] [Changed Subscribers] D1833: Add memory barriers to buf_ring
Message-ID:  <a17fcc7208b22a0ef759e9cecc56b186@localhost.localdomain>
In-Reply-To: <differential-rev-PHID-DREV-ntnotl4wj5wcj2eoukly-req@FreeBSD.org>
References:  <differential-rev-PHID-DREV-ntnotl4wj5wcj2eoukly-req@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
andrew added a subscriber: andrew.

INLINE COMMENTS
  sys/sys/buf_ring.h:107 atomic_store_rel_int includes a dmb before writing to &br->br_prod_tail.
  
  I don't think this code will be hitting ARM errata 761319 [1] as the read is in a loop where we exit when we see the new value at least once meaning it has been incremented to the value we expect.
  
  . [1] http://infocenter.arm.com/help/topic/com.arm.doc.uan0004a/UAN0004A_a9_read_read.pdf
  sys/sys/buf_ring.h:167 It feels like one or both of these should be read with atomic_load_acq_int.

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

To: zbb, kmacy, imp, rpaulo
Cc: andrew, ian, adrian, freebsd-arm



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