08:59 karolherbst: airlied: btw, I just noticed that there is some form of hash collision detection inside src/util/disk_cache.c :)
08:59 karolherbst: in disk_cache_get
18:04 karolherbst: imirkin: any last comments on this? https://gitlab.freedesktop.org/mesa/shader-db/-/merge_requests/46
18:04 karolherbst: would like to merge it :)
18:04 imirkin: i haven't looked at it
18:05 imirkin: but i trust you not to have completely f'd it up, so wtvr
18:05 karolherbst: okay
18:05 karolherbst: example output: https://gist.github.com/karolherbst/35c8afc435f291ace350ea10fdce06d5
18:06 karolherbst: (also works with python2 and python3)
18:07 karolherbst: wondering if it makes sense to skip attributes if they are all 0...
18:08 karolherbst: I'd also like to add dual_issuing rates but at that point a bigger rework might be required anyway
18:10 karolherbst: oh well
19:38 airlied: skeggsb: does newer nvidia hw have any concept of a limited global GTT space at all?
19:39 imirkin: i expect it always does
19:39 imirkin: i doubt it can address above 40- or 48-bit depending on generation
19:43 airlied: imirkin: but one where all objects have to be mapped, or is everything per-process
19:43 airlied: 40/48-bit isn't really limited if a process controls the address space allocations
19:46 HdkR: GP100 and above has a 49bit address space so it can map all of CPU and GPU space :P
19:46 karolherbst: airlied: even on the kernel level you need to allocate a context afaik
19:46 karolherbst: so there isn't really a "global" vm
19:46 imirkin: airlied: i think i'm not quite understanding your question. the GPU has its own VM. that VM is switched per "channel", which can be shared between processes sometimes
19:46 imirkin: but is equivalent to a drm client
19:47 karolherbst: so.. it is "per process" so to speak
19:48 imirkin: (the fd can be passed around, and remains a "handle" on that VM
19:48 karolherbst: yeah.. there is some difference between having a VM and having a context
19:48 karolherbst: and they can be mixed ? dunno
19:49 karolherbst: or is it always per context?
19:49 karolherbst: doesn't matter I guess
19:51 airlied: so there is no global VM, just a VM the kernel uses
19:51 imirkin: airlied: anyways, a GPU VM can only access the memory that is mapped within it, and it it doesn't have access to its own PDE/PTE's, so it can't map additional stuff
19:52 airlied: TTM has a core concept of a global translation table, and I'm just trying to figure out how to remove it
19:52 imirkin: ah. i thought you were coming at this from a security standpoint
19:53 imirkin: not sure what the GTT is in TTM precisely
19:53 karolherbst: airlied: what does exist is that you can create a privilged context which allows physical addressing afaik
19:53 karolherbst: dunno how relevant that is
19:53 imirkin: earlier GPUs had these DMA objects, which would define a base address, and you'd access stuff relative to that base
19:53 karolherbst: but the kernel contexts are privileged
19:53 imirkin: (pre-nv50)