Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Oct 2011 04:49:12 +0800
From:      Adrian Chadd <adrian@freebsd.org>
To:        Warner Losh <imp@bsdimp.com>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: newbus IO ordering semantics - moving forward
Message-ID:  <CAJ-VmonXtXPNuu=b%2BM4Zj=xz0Jy1e65qj1sS2En1fJPfPy%2Bi=Q@mail.gmail.com>
In-Reply-To: <E24309DA-09E3-40E1-A605-5CC72F03150A@bsdimp.com>
References:  <CAJ-VmonFJG3xLn2JvarOUN6o-e7MC%2BA%2B=W9_vocZqY6L3CmTmQ@mail.gmail.com> <E24309DA-09E3-40E1-A605-5CC72F03150A@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 28 October 2011 04:43, Warner Losh <imp@bsdimp.com> wrote:

> Having an option to support lazy would be easy to code up on x86 where it=
 isn't needed. =A0However, on some architectures, the bus space routines ar=
e implemented as a series of function calls from a table that's passed arou=
nd in the bus_space_t. =A0Those architectures it would be hard to implement=
 differing behavior like you propose.

Right, but then wouldn't it just need to be:

(do bus op)
if (bit is set)
  bus_space_barrier(address range of allocation);

I haven't looked to see whether the relevant information is currently
exposed to those functions. This was just an idea to meet half way
between what newbus documentation says, and what code actually
implements.

> Having it whine on lazy will ensure that lazy is never used since such a =
message will "scare the horses" and people will stamped to using the synchr=
onous one.
>
> One question: What's the slowdown from making everything synchronous?

I have no idea. Which architectures would benefit? MIPS? sparc? arm? ia64? =
PPC?


Adrian



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmonXtXPNuu=b%2BM4Zj=xz0Jy1e65qj1sS2En1fJPfPy%2Bi=Q>