Thread (11 messages) 11 messages, 6 authors, 2021-02-10

Re: [PATCHv2] nvme/hwmon: rework to avoid devm allocation

From: Hannes Reinecke <hare@suse.de>
Date: 2021-01-19 19:08:12

On 1/19/21 3:56 PM, Guenter Roeck wrote:
On Tue, Jan 19, 2021 at 07:43:18AM +0100, Hannes Reinecke wrote:
quoted
The original design to use device-managed resource allocation
doesn't really work as the NVMe controller has a vastly different
lifetime than the hwmon sysfs attributes, causing warning about
duplicate sysfs entries upon reconnection.
This patch reworks the hwmon allocation to avoid device-managed
resource allocation, and uses the NVMe controller as parent for
the sysfs attributes.
I don't really know enough about the nvme infrastructure to understand
this part of the change. Couple of questions: Why is the parent change
needed, and does the "sensors" command still work after this change ?
Problem is that it's not really a 'new' infrastructure, it's 
NVMe-over-fabrics, which behaves slightly different from the PCI-based 
NVMe devices.
In particular we can and will have connectivity failures, requiring the 
controller to be reset or recreated.
And as the hwmon sysfs attributes were never removed correctly in the 
first place we're seeing these errors.
It isn't easily recreated on PCI devices as the sysfs attributes will 
only ever be removed on shutdown (or module unload).
So I fear the issue was with us since day-1.

As for the parent change: for fabrics the '->dev' device points to a 
static nvmf_device, which is identical for every fabrics controller.
So you really need to use the actual device in '->device' to have a 
different parent device for different controllers.
So for PCI that means that the 'hwmon' device moved one element down 
(from the PCI device to the nvme controller).
But shouldn't make much of a difference; I'll check on if 'sensors' 
continues to work.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke                Kernel Storage Architect
hare@suse.de                              +49 911 74053 688
SUSE Software Solutions GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), Geschäftsführer: Felix Imendörffer

_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help