On Fri, May 23, 2025 at 10:03 AM Christian König
<christian.koe...@amd.com> wrote:
>
> On 5/23/25 15:58, Alex Deucher wrote:
> > I think that's probably the best option.  I was thinking we could
> > mirror the ring frames for each gang and after a reset, we submit the
> > unprocessed frames again.  That way we can still do a ring test to
> > make sure the ring is functional after the reset and then submit the
> > unprocessed work.
>
> Keep in mind that we can't allocate any memory during submission or in a 
> reset.

Yeah, I was thinking we'd just have a static mirror allocated upfront.

>
> I think we should just tell the newly mapped kernel ring to start to from the 
> known good RPTR and process to whatever the current WPTR is. Only after that 
> an IB test should be inserted.

I considered that, but we don't know if the reset worked or not
without some sort of test.  I guess we could put an IB test at the
end, but it may take a while if there is a lot of content to process.
I guess that's not really fundamentally different from how vmid reset
is supposed to work anyway.  We should be able to set the requested
wptr/rptr in the MQD when we map the ring after the reset.

>
> We could also modify the conditional code used for MCBP to skip processing 
> for a specific VMID by applying a mask instead of always checking for 0 and 1.

How would that work?  I haven't paged that into my head in a while.

Alex

>
> Christian.

Reply via email to