Messages in this thread | | | From | Pavel Tatashin <> | Date | Sat, 20 Apr 2019 13:01:51 -0400 | Subject | Re: [v1 2/2] device-dax: "Hotremove" persistent memory that is used like normal RAM |
| |
> > Thank you for looking at this. Are you saying, that if drv.remove() > > returns a failure it is simply ignored, and unbind proceeds? > > Yeah, that's the problem. I've looked at making unbind able to fail, > but that can lead to general bad behavior in device-drivers. I.e. why > spend time unwinding allocated resources when the driver can simply > fail unbind? About the best a driver can do is make unbind wait on > some event, but any return results in device-unbind.
Hm, just tested, and it is indeed so.
I see the following options:
1. Move hot remove code to some other interface, that can fail. Not sure what that would be, but outside of unbind/remove_id. Any suggestion? 2. Option two is don't attept to offline memory in unbind. Do hot-remove memory in unbind if every section is already offlined. Basically, do a walk through memblocks, and if every section is offlined, also do the cleanup.
Pasha
| |