Re: CPA patchset

Ingo Molnar
2008-01-10T10:03:43Z

* Dave Airlie <airlied@gmail.com> wrote:

> > - firstly, there's no rationale given. So we'll change ioremap()/etc.
> > from doing a cflush-range instruction instead of a WBINVD. But why?
> > WBINVD isnt particular fast (takes a few msecs), but why is that a
> > problem? Drivers dont do high-frequency ioremap-ing. It's typically
> > only done at driver/device startup and that's it. Whether module load
> > time takes 1254 msecs instead of 1250 msecs is no big deal.
>
> read graphics drivers, even though I think we may avoid the whole path
> if we can and end up doing some of this in the drivers when they know
> more about the situation so can avoid safeties..

by 'read graphics drivers' do you mean direct framebuffer access? In any
case, a driver (or even userspace) can use cflush just fine, it's an
unprivileged instruction. But this is about the ioremap() implementation
using cflush instead of WBINVD, and that is a slowpath and is up to the
kernel anyway - i'm not aware of many high-frequency ioremap() users, so
robustness concerns control the policy here. So could you please explain
your point in more detail?

Ingo