From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Borislav Petkov <bp@alien8.de>
Cc: Andy Lutomirski <luto@amacapital.net>,
intel-gfx@lists.freedesktop.org, X86 ML <x86@kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
DRI <dri-devel@lists.freedesktop.org>,
Ingo Molnar <mingo@kernel.org>,
Ross Zwisler <ross.zwisler@linux.intel.com>,
H Peter Anvin <h.peter.anvin@intel.com>,
Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH 6/6] x86: Use clwb in drm_clflush_virt_range
Date: Thu, 13 Nov 2014 19:33:54 +0200 [thread overview]
Message-ID: <20141113173354.GT10649@intel.com> (raw)
In-Reply-To: <20141113171133.GD14070@pd.tnic>
On Thu, Nov 13, 2014 at 06:11:33PM +0100, Borislav Petkov wrote:
> On Thu, Nov 13, 2014 at 08:38:23AM -0800, Andy Lutomirski wrote:
> > On Nov 13, 2014 3:20 AM, "Borislav Petkov" <bp@alien8.de> wrote:
> > >
> > > On Wed, Nov 12, 2014 at 07:14:21PM -0800, Andy Lutomirski wrote:
> > > > On 11/11/2014 10:43 AM, Ross Zwisler wrote:
> > > > > If clwb is available on the system, use it in drm_clflush_virt_range.
> > > > > If clwb is not available, fall back to clflushopt if you can.
> > > > > If clflushopt is not supported, fall all the way back to clflush.
> > > >
> > > > I don't know exactly what drm_clflush_virt_range (and the other
> > > > functions you're modifying similarly) are for, but it seems plausible to
> > > > me that they're used before reads to make sure that non-coherent memory
> > > > sees updated data. If that's true, then this will break it.
> > >
> > > Why would it break it? The updated cachelines will be in memory and
> > > subsequent reads will be serviced from the cache instead from going to
> > > memory as it is not invalidated as it would be by CLFLUSH.
> > >
> > > /me is puzzled.
> >
> > Suppose you map some device memory WB, and then the device
> > non-coherently updates. If you want the CPU to see it, you need
> > clflush or clflushopt. Some architectures might do this for
> > dma_sync_single_for_cpu with DMA_FROM_DEVICE.
>
> Ah, you're talking about the other way around - the device does the
> writes. Well, the usage sites are all in i915*, maybe we should ask
> them - it looks to me like this is only the CPU making stuff visible in
> the shared buffer but I don't know that code... intel-gfx CCed although
> dri-devel is already on CC.
We use it both ways in i915. So please don't break it.
--
Ville Syrjälä
Intel OTC
next prev parent reply other threads:[~2014-11-13 17:33 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1415731396-19364-1-git-send-email-ross.zwisler@linux.intel.com>
[not found] ` <1415731396-19364-7-git-send-email-ross.zwisler@linux.intel.com>
[not found] ` <5464220D.6090204@amacapital.net>
[not found] ` <20141113112017.GA14416@pd.tnic>
[not found] ` <CALCETrV2E-LBHLTV6zJ=nfw8ijjV8VZoYAinXdg9ZaOryfqquw@mail.gmail.com>
2014-11-13 17:11 ` [PATCH 6/6] x86: Use clwb in drm_clflush_virt_range Borislav Petkov
2014-11-13 17:33 ` Ville Syrjälä [this message]
2014-11-13 17:47 ` Borislav Petkov
2014-11-13 18:14 ` Ville Syrjälä
2014-11-13 18:43 ` Ville Syrjälä
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20141113173354.GT10649@intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=bp@alien8.de \
--cc=dri-devel@lists.freedesktop.org \
--cc=h.peter.anvin@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@amacapital.net \
--cc=mingo@kernel.org \
--cc=ross.zwisler@linux.intel.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox