06:16fdobridge: <![NVK Whacker] Echo (she) 🇱🇹> Just like old EIA 608 videos
06:30fdobridge: <![NVK Whacker] Echo (she) 🇱🇹> Is this with the Ultra HD textures enabled?
08:08fdobridge: <esdrastarsis> dunno
10:51fdobridge: <esdrastarsis> Zink performs better than nouveau gallium in the new Half-Life update
10:51fdobridge: <esdrastarsis> https://cdn.discordapp.com/attachments/1034184951790305330/1175750141236490250/20231119_07h48m19s_grim.jpeg?ex=656c5da6&is=6559e8a6&hm=ec639fc718fc7f2ba1f90af481b0e69edca1f4c2b666a360bd8f5c8971b494f9&
10:51fdobridge: <esdrastarsis> https://cdn.discordapp.com/attachments/1034184951790305330/1175750141735608320/20231119_07h46m55s_grim.jpeg?ex=656c5da6&is=6559e8a6&hm=9d0e2af7575147edbbf0098b80a1a16b8c30e81195021edb85ba62a831652150&
11:32fdobridge: <karolherbst🐧🦀> yeah, not surprising
11:32fdobridge: <karolherbst🐧🦀> the gallium driver has a lot of CPU overhead
11:33fdobridge: <karolherbst🐧🦀> also the way it does fencing sucks
11:33fdobridge: <karolherbst🐧🦀> or did I fix that?
11:34fdobridge: <karolherbst🐧🦀> @esdrastarsis if you are bored, you could check if reverting this MR makes it worse/better: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19543
11:34fdobridge: <karolherbst🐧🦀> but users reported, that the MT fixes also made performance worse 😢
18:41fdobridge: <samantas5855> even with mesa_no_error?
18:46fdobridge: <karolherbst🐧🦀> yeah
19:14fdobridge: <gfxstrand> And so it begins...
19:40fdobridge: <airlied> it does appear the fence oops is we just allocated too many channels, I'm not sure if there are hw limits on number of channels these days, and what we should do when we hit them
19:53fdobridge: <airlied> uggh this is likely going to be a bit messy to fix
20:17fdobridge: <gfxstrand> I've been meaning to do something where I log the max channel used. Would that be helpful?
20:20fdobridge: <airlied> nah it's easy to see why it happens, if you just keep opening channels and start anything you will hit it
20:20fdobridge: <airlied> but I'm not really sure how the channels and runlist stuff integrates
20:21fdobridge: <airlied> but I'm also not sure wtf you are meant to do once you hit 256
20:22fdobridge: <airlied> like I can avoid the oops, but not sure if we should just stop userspace from making new things or not
20:44fdobridge: <airlied> @karolherbst do you know the history of channels/runlists etc over the years of nvidia hw?
20:52fdobridge: <karolherbst🐧🦀> not at all
20:52fdobridge: <marysaka> I wonder if getting ride of the MME loop in the draw macros on Turing+ would do anything, maybe I think I will give that a try tomorrow :aki_thonk:
20:53fdobridge: <marysaka> The only thing I know about channel and runlist from nvgpu was that you could group channels in TSG but I think that's only important for scheduling stuffs, but I don't think it's anything related to the hw anyway
20:56fdobridge: <airlied> I expect a couple of days of study will let me untangle it, for gsp we have a 256 limit on chids, and a 2048 limit on cgids
20:56fdobridge: <airlied> but no idea if that is Ben or GSP
20:58fdobridge: <marysaka> might be worth checking the open source driver but nagivating it is a bit challenging 😅
20:58fdobridge: <pac85> Are channels like queues the firmware can schedule?
21:02fdobridge: <airlied> a lot of this stuff is handled in userspace on nvidia
21:50fdobridge: <karolherbst🐧🦀> we really shouldn't use that many contexts anyway
21:51fdobridge: <airlied> if you start 128 vulkan apps you will hit it
21:51fdobridge: <karolherbst🐧🦀> I think you kinda have to preallocate a buffer which is big enough to store all the contexts state
21:51fdobridge: <karolherbst🐧🦀> yeah.. but contexts are a scarce resource on nvidia
21:51fdobridge: <airlied> yes it's a question of how to report it
21:52fdobridge: <airlied> I might have to write a small test to try and hit the binary driver limits
21:52fdobridge: <karolherbst🐧🦀> good luck
21:52fdobridge: <karolherbst🐧🦀> though I suspect they either do crazy magic or just refuse to create vulkan queues/devices
21:53fdobridge: <airlied> I think they return a memory allocation failure
21:53fdobridge: <karolherbst🐧🦀> makes sense
21:53fdobridge: <karolherbst🐧🦀> all I know is, that running CL on zink on nvidia is like 10x as slow, slower if I increase parallelism 🥲
21:53fdobridge: <karolherbst🐧🦀> but that can also be crazy userspace stuff they are doing
21:54fdobridge: <karolherbst🐧🦀> but context switching is kinda slow and you really don't want to juggle too many contexts
22:08fdobridge: <airlied> I wonder if we should at least share the phy device and first vulkan device context
22:46fdobridge: <karolherbst🐧🦀> good question...
22:46fdobridge: <karolherbst🐧🦀> what's the phy device context used for anyway?
23:06fdobridge: <airlied> oh we only use it for probing, then kill it
23:48fdobridge: <airlied> okay I think I see why this is broken on GSP only now
23:49fdobridge: <airlied> gsp has some mapping from channel id to userd, and it wraps the normal chan id stuff, but the toplevel never knows about that
23:49fdobridge: <airlied> just have to work out wtf the correct answer it