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