[RFC PATCH 0/3] gpu: nova-core: add basic timer subdevice implementation
John Hubbard
jhubbard at nvidia.com
Thu Feb 27 01:34:01 UTC 2025
On Wed Feb 26, 2025 at 5:02 PM PST, Greg KH wrote:
> On Wed, Feb 26, 2025 at 07:47:30PM -0400, Jason Gunthorpe wrote:
>> The way misc device works you can't unload the module until all the
>> FDs are closed and the misc code directly handles races with opening
>> new FDs while modules are unloading. It is quite a different scheme
>> than discussed in this thread.
>
> And I would argue that is it the _right_ scheme to be following overall
> here. Removing modules with in-flight devices/drivers is to me is odd,
> and only good for developers doing work, not for real systems, right?
Right...I think. I'm not experienced with misc, but I do know that the
"run driver code after driver release" is very, very concerning.
I'm quite new to drivers/gpu/drm, so this is the first time I've learned
about this DRM behavior...
>
> Yes, networking did add that functionality to allow modules to be
> unloaded with network connections open, and I'm guessing RDMA followed
> that, but really, why?
>
> What is the requirement that means that you have to do this for function
> pointers? I can understand the disconnect issue between devices and
> drivers and open file handles (or sockets), as that is a normal thing,
> but not removing code from the system, that is not normal.
>
I really hope that this "run after release" is something that Rust for
Linux drivers, and in particular, the gpu/nova*, gpu/drm/nova* drivers,
can *leave behind*.
DRM may have had ${reasons} for this approach, but this nova effort is
rebuilding from the ground up. So we should avoid just blindly following
this aspect of the original DRM design.
thanks,
--
John Hubbard
More information about the Nouveau
mailing list