Hi Zhao,

Following up on my mail from July, since this one is still open.

Your 1/2 landed in the meantime - it is in mainline as 9b2dedadf6a9
("accel/rocket: Fix error path handling in rocket_job_run()"). This 2/2
did not, and the leak it fixes is still there today: in current
mainline, and in drm-misc-next, rocket_job_handle_irq() still does

        iommu_detach_group(NULL, iommu_group_get(core->dev));

while the two other call sites in the same file, rocket_job_run() and
the reset path, both use the cached core->iommu_group. So every job that
runs to completion still takes a group reference that nobody puts back.

My offer from July stands, and I would like to make it concrete, because
I think the only thing this needs is for the one-liner to travel alone:

 - If you would like to respin just the leak fix as a standalone v7,
   send it and I will test it on RK3588 (Orange Pi 5 Plus, three NPU
   cores) the same day and reply with Tested-by. I have a benchmark
   here that goes through that exact line thousands of times per run
   with bit-exact output checking, so the tag would mean something.

 - If you would rather not spend more time on it, I am happy to send the
   standalone patch for you, with you as the author - your From:, your
   Signed-off-by, the Fixes: 0810d5ad88a1 tag you already had - and my
   Signed-off-by only as the person posting it. The fix is yours; I do
   not want to take it over, only to stop it from being stuck.

Either way is fine by me. Just say which you prefer, and if I do not
hear back I will assume you are still on it and leave it with you.

The runtime-PM part of the original 2/2 can then be discussed on its
own, without holding up something this small.

Thanks,
Igor Paunovic

Reply via email to