Re: [PATCH] drm/i915: Expose LLC size to user space

Ben Widawsky
2013-07-10T16:40:22Z

On Wed, Jul 10, 2013 at 09:59:01AM +0100, Chris Wilson wrote:
> On Tue, Jul 09, 2013 at 07:58:02PM -0700, Ben Widawsky wrote:
> > The algorithm/information was originally written by Chad, though I
> > changed the control flow, and I think his original code had a couple of
> > bugs, though I didn't look very hard before rewriting. That could have
> > also been different interpretations of the spec.
>
> Just a cpuid query that can already be done more simply from userspace
> (i.e. with no syscalls)? I was expecting a lot more magic.
> -Chris
>
> --
> Chris Wilson, Intel Open Source Technology Centre

Chad wrote this originally for mesa. And yes, it's doable from
userspace. Chatting with Daniel, we thought maybe other GPU clients
might want this info, and so a central place to put the code would be
nice, in case there are quirks or anything like that (I've had a
particularly hard time figuring out if Xeon really has L3 or not).

So what's a central place? Libdrm, everybody uses that right? You can
read /proc/cpuinfo as far as I know, but then you still need to query
the HAS_LLC getparam to figure out what kind of L3 (or do your own
chipset ID check).

In addition to the centrality argument, I noticed while poking around
cpuid in the kernel that it is a vitalized function. I'm not sure what
the purpose of this is, but it's something you can't fake in userspace.

--
Ben Widawsky, Intel Open Source Technology Center