lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
 <PH0PR18MB4425F2F17BA6CC582638F9D7D9592@PH0PR18MB4425.namprd18.prod.outlook.com>
Date: Tue, 12 Nov 2024 09:25:46 +0000
From: Shijith Thotton <sthotton@...vell.com>
To: Bjorn Helgaas <helgaas@...nel.org>
CC: "bhelgaas@...gle.com" <bhelgaas@...gle.com>,
        "ilpo.jarvinen@...ux.intel.com" <ilpo.jarvinen@...ux.intel.com>,
        "Jonathan.Cameron@...wei.com" <Jonathan.Cameron@...wei.com>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "linux-pci@...r.kernel.org" <linux-pci@...r.kernel.org>,
        "rafael@...nel.org"
	<rafael@...nel.org>,
        "scott@...amperecomputing.com"
	<scott@...amperecomputing.com>,
        Jerin Jacob <jerinj@...vell.com>,
        Srujana
 Challa <schalla@...vell.com>,
        Vamsi Krishna Attunuru <vattunuru@...vell.com>
Subject: Re: [PATCH v4] PCI: hotplug: Add OCTEON PCI hotplug controller driver

>> This patch introduces a PCI hotplug controller driver for the OCTEON
>> PCIe device. The OCTEON PCIe device is a multi-function device where the
>> first function serves as the PCI hotplug controller.
>>
>>                +--------------------------------+
>>                |           Root Port            |
>>                +--------------------------------+
>>                                |
>>                               PCIe
>>                                |
>> +---------------------------------------------------------------+
>> |              OCTEON PCIe Multifunction Device                 |
>> +---------------------------------------------------------------+
>>              |                    |              |            |
>>              |                    |              |            |
>> +---------------------+  +----------------+  +-----+  +----------------+
>> |      Function 0     |  |   Function 1   |  | ... |  |   Function 7   |
>> | (Hotplug controller)|  | (Hotplug slot) |  |     |  | (Hotplug slot) |
>> +---------------------+  +----------------+  +-----+  +----------------+
>>              |
>>              |
>> +-------------------------+
>> |   Controller Firmware   |
>> +-------------------------+
>>
>> The hotplug controller driver enables hotplugging of non-controller
>> functions within the same device. During probing, the driver removes
>> the non-controller functions and registers them as PCI hotplug slots.
>> These slots are added back by the driver, only upon request from the
>> device firmware.
>>
>> The controller uses MSI-X interrupts to notify the host of hotplug
>> events initiated by the OCTEON firmware. Additionally, the driver
>> allows users to enable or disable individual functions via sysfs slot
>> entries, as provided by the PCI hotplug framework.
>
>Can we say something here about what the benefit of this driver is?
>For example, does it save power?

The driver enables hotplugging of non-controller functions within the device
without requiring a fully implemented switch, reducing both power consumption
and product cost.

>What causes the function 0 firmware to request a hot-add or
>hot-removal of another function?

The firmware will enable the required number of non-controller functions based
on runtime demand, allowing control over these functions. For example, in a
vDPA scenario, each function could act as a different type of device (such as
net, crypto, or storage) depending on the firmware configuration.

Hot removal is useful in cases of live firmware updates.

I will update the commit log with above details.

Thanks,
Shijith

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ