Re: [PATCH 1/1] hwmon: Driver for temperature sensors on SATA drives

From: Guenter Roeck
Date: Mon Dec 16 2019 - 23:21:04 EST


On 12/16/19 6:47 PM, Martin K. Petersen wrote:

Guenter,

Not sure I understand what you mean with 'bazillions of sensors' and
'sensor per scsi_device'. Can you elaborate ? I see one sensor per
drive, which is what I would expect.

Yes, but for storage arrays, hanging off of struct scsi_device means you
would get a sensor for each volume you create. Even though you
presumably only have one physical "box" to monitor (ignoring for a
moment that the drives inside the box may have their own sensors that
may or may not be visible to the host).

Also, multi-actuator disk drives are shipping. They present themselves
to the host as a target with multiple LUNs. Once again you'll probably
have one temperature sensor for the physical drive but many virtual
disks being presented to the OS. So you'd end up with for instance 4
sensors in hwmon even though there physically only is one.

It's a tough call since there may be hardware configurations where
distinct per-LUN temperature is valid (some quirky JBODs represent disk
drives as different LUNs instead of different targets, for instance).

How expensive will it be to have - say - 100 hwmon sensors instantiated
for a drive tray?


If that drive tray has 100 physical drives, that is what I would expect
to see. The most expensive part is the device entry, and there are already
several of those for each scsi device. I have seen systems with hundreds
of hwmon devices (backbone switches tend to be quite generous with
voltage, current, power, and temperature sensors), so I am not
particularly concerned in that regard. If there are 100 physical drives,
you would actually want to see the temperature of each drive separately,
as one of them might be overheating due to some internal failure.

If the storage array is represented to the system as single huge physical
drive, which is then split into logical entities not related to physical
drives, I guess that would represent a problem for system management overall.
Maybe such boxes have separate thermal monitoring ? Either case, we
have the question if it is possible to distinguish the pseudo-physical
drive from the virtual drives (or volumes).

I would not mind to tie the hardware monitoring device to something else
than the scsi device if the scsi device does not always have a physical
representation. Is there a way to determine if a scsi device is virtual
or real ? Obviously it does not make sense to report the same temperature
multiple times, and we would want only a single temperature reported
for each physical drive. At the same time, I absolutely want to avoid
a situation where a single hardware monitoring device would report
the temperature of multiple drives. The concern here is crossing OIR
boundaries. A single hardware monitoring device should never cross
an OIR boundary.

Thanks,
Guenter