Project

General

Profile

Actions

Feature #13081

closed

add mlxcx temp sensor

Added by Robert Mustacchi 10 months ago. Updated 9 months ago.

Status:
Closed
Priority:
Normal
Category:
driver - device drivers
Start date:
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

Description

The mlxcx(7D) devices have support for exposing their internal temperature sensors through device registers. It would be great if we plumbed this through the ksensor framework. While the device has some voltage/current sensors, these are only for the SFPs themselves. It doesn't make sense to expose them this way as we already expose that through the MAC capabilities and can disect it directly in a generic fashion for all devices, rather than this one-off device-specific way.

Actions #1

Updated by Electric Monk 10 months ago

  • Gerrit CR set to 876
Actions #2

Updated by Robert Mustacchi 9 months ago

To test this, Alex Wilson kindly ran this change against some of his systems with mlxcx(7D). With this we saw:

hc://:product-id=System-x3550-M5---[8869AC1]-:server-id=90-e2-ba-d3-ec-a0:chassis-id=J322B09/motherboard=0/hostbridge=1/pciexrc=1/pciexbus=6/pciexdev=0?sensor=temp0
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=System-x3550-M5---[8869AC1]-:server-id=90-e2-ba-d3-ec-a0:chassis-id=J322B09/motherboard=0/hostbridge=1/pciexrc=1/pciexbus=6/pciexdev=0?sensor=temp0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    System-x3550-M5---[8869AC1]-
    chassis-id        string    J322B09
    server-id         string    90-e2-ba-d3-ec-a0
  group: facility                       version: 1   stability: Private/Private
    sensor-class      string    threshold
    type              uint32    0x1 (TEMP)
    units             uint32    0x1 (DEGREES_C)
    reading           double    53.000000

hc://:product-id=System-x3550-M5---[8869AC1]-:server-id=90-e2-ba-d3-ec-a0:chassis-id=J322B09/motherboard=0/hostbridge=1/pciexrc=1/pciexbus=6/pciexdev=0/pciexfn=0
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=System-x3550-M5---[8869AC1]-:server-id=90-e2-ba-d3-ec-a0:chassis-id=J322B09/motherboard=0/hostbridge=1/pciexrc=1/pciexbus=6/pciexdev=0/pciexfn=0
    label             string    Slot 1
    FRU               fmri      hc://:product-id=System-x3550-M5---[8869AC1]-:server-id=90-e2-ba-d3-ec-a0:chassis-id=J322B09/motherboard=0/hostbridge=1/pciexrc=1/pciexbus=6/pciexdev=0
    ASRU              fmri      dev:////pci@0,0/pci8086,6f04@2/pci15b3,105@0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    System-x3550-M5---[8869AC1]-
    chassis-id        string    J322B09
    server-id         string    90-e2-ba-d3-ec-a0
  group: io                             version: 1   stability: Private/Private
    dev               string    /pci@0,0/pci8086,6f04@2/pci15b3,105@0
    driver            string    mlxcx
    instance          uint32    0x0
    module            fmri      mod:///mod-name=mlxcx/mod-id=251
  group: pci                            version: 1   stability: Private/Private
    device-id         string    1015
    extended-capabilities string    pciexdev
    class-code        string    20000
    vendor-id         string    15b3
    assigned-addresses uint32[]  [ 3271950352 0 2483027968 0 33554432 ]
    vendor-name       string    Mellanox Technologies
    device-name       string    MT27710 Family [ConnectX-4 Lx]

hc://:product-id=System-x3550-M5---[8869AC1]-:server-id=90-e2-ba-d3-ec-a0:chassis-id=J322B09/motherboard=0/hostbridge=1/pciexrc=1/pciexbus=6/pciexdev=0/pciexfn=0/port=0
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=System-x3550-M5---[8869AC1]-:server-id=90-e2-ba-d3-ec-a0:chassis-id=J322B09/motherboard=0/hostbridge=1/pciexrc=1/pciexbus=6/pciexdev=0/pciexfn=0/port=0
    FRU               fmri      hc://:product-id=System-x3550-M5---[8869AC1]-:server-id=90-e2-ba-d3-ec-a0:chassis-id=J322B09/motherboard=0/hostbridge=1/pciexrc=1/pciexbus=6/pciexdev=0/pciexfn=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    System-x3550-M5---[8869AC1]-
    chassis-id        string    J322B09
    server-id         string    90-e2-ba-d3-ec-a0
  group: port                           version: 1   stability: Private/Private
    type              string    sff
  group: datalink                       version: 1   stability: Private/Private
    link-speed        uint64    0x2540be400
    link-duplex       string    full
    link-status       string    up
    link-name         string    mlxcx0
    primary-mac-address string    1c:34:da:43:24:7d

Given that the exhaust temperature was mid to high 40s, this didn't seem unreasonable.

Actions #3

Updated by Electric Monk 9 months ago

  • Status changed from New to Closed
  • % Done changed from 90 to 100

git commit 1718c31669d146508ea805e88322f5b74d892762

commit  1718c31669d146508ea805e88322f5b74d892762
Author: Robert Mustacchi <rm@fingolfin.org>
Date:   2020-09-14T15:27:50.000Z

    13081 add mlxcx temp sensor
    Reviewed by: Alex Wilson <alex@cooperi.net>
    Reviewed by: Andy Fiddaman <andy@omniosce.org>
    Reviewed by: Paul Winder <paul@winder.uk.net>
    Approved by: Dan McDonald <danmcd@joyent.com>

Actions

Also available in: Atom PDF