mbox series

[v3,0/2] Add log related mailbox commands

Message ID 20240313071218.729-1-sthanneeru.opensrc@micron.com
Headers show
Series Add log related mailbox commands | expand

Message

Srinivasulu Opensrc March 13, 2024, 7:12 a.m. UTC
From: Srinivasulu Thanneeru <sthanneeru.opensrc@micron.com>

Add support to expose following mailbox commands to userspace
for clearing and populating the Vendor debug log in certain
scenarios, allowing for the aggregation of results over time.

1. CXL r3.1 8.2.9.5.3 Get Log Capabilities.
2. CXL r3.1 8.2.9.5.4 Clear Log commands.
3. CXL r3.1 8.2.9.5.6 Get Supported Logs Sub-List.

---
Changes in v3:
- 'Component State Dump log' has several caveats for ioctl()
   not being a suitable ABI as pointed in v2.(Dan Williams)
- Remove Component State Dump from Clear log filter.
- Implement a seperate patch(yet to do) to address issues as pointed in v2.
- Link to v2:
https://lore.kernel.org/linux-mm/65e631951ff61_b62b294e1@dwillia2-mobl3.amr.corp.intel.com.notmuch/

Changes in v2:
Suggested by Jonathan Cameron:
- Add description for exposing these mailbox log commands to ioctl.
- Create separate patch for 'Clear log'.
- Restrict the ‘Clear log’ action to only apply to
  Vendor debug logs and Component state dump logs.
- Rename get log sublist to get supported log sublist.
- Link to v1: https://lore.kernel.org/linux-mm/20240207103634.199-1-sthanneeru.opensrc@micron.com/
---

*** BLURB HERE ***

Srinivasulu Thanneeru (2):
  cxl/mbox: Add Get Log Capabilities and Get Supported Logs Sub-List
    commands
  cxl/mbox: Add Clear Log mailbox command

 drivers/cxl/core/mbox.c      | 12 ++++++++++++
 drivers/cxl/cxlmem.h         |  3 +++
 include/uapi/linux/cxl_mem.h |  3 +++
 3 files changed, 18 insertions(+)

Comments

Dan Williams March 26, 2024, 11:37 p.m. UTC | #1
sthanneeru.opensrc@ wrote:
> From: Srinivasulu Thanneeru <sthanneeru.opensrc@micron.com>
> 
> Add support to expose following mailbox commands to userspace
> for clearing and populating the Vendor debug log in certain
> scenarios, allowing for the aggregation of results over time.
> 
> 1. CXL r3.1 8.2.9.5.3 Get Log Capabilities.
> 2. CXL r3.1 8.2.9.5.4 Clear Log commands.
> 3. CXL r3.1 8.2.9.5.6 Get Supported Logs Sub-List.
> 
> ---
> Changes in v3:
> - 'Component State Dump log' has several caveats for ioctl()
>    not being a suitable ABI as pointed in v2.(Dan Williams)
> - Remove Component State Dump from Clear log filter.
> - Implement a seperate patch(yet to do) to address issues as pointed in v2.

Circling back to this question... I had overlooked the fact that in v3.1
the "Request Abort Background Operation" command was added (8.2.9.1.5).
With that the kernel can safely support background commands with
indefinite residency. So as long as the device supports that command and
advertises that Log populate requests can be cancelled then we can build
a facility to cancel any user-submitted background commands when a
kernel internal need for the background command slot arises.
Srinivasulu Opensrc April 1, 2024, 6:03 a.m. UTC | #2
>-----Original Message-----
>From: Dan Williams <dan.j.williams@intel.com>
>Sent: Wednesday, March 27, 2024 5:07 AM
>To: Srinivasulu Opensrc <sthanneeru.opensrc@micron.com>; linux-
>cxl@vger.kernel.org
>Cc: Jonathan.Cameron@huawei.com; dan.j.williams@intel.com;
>john@jagalactic.com; Eishan Mirakhur <emirakhur@micron.com>; Ajay Joshi
><ajayjoshi@micron.com>; Ravis OpenSrc <Ravis.OpenSrc@micron.com>;
>Srinivasulu Thanneeru <sthanneeru@micron.com>
>Subject: [EXT] RE: [PATCH v3 0/2] Add log related mailbox commands
>
>CAUTION: EXTERNAL EMAIL. Do not click links or open attachments unless you
>recognize the sender and were expecting this message.
>
>
>sthanneeru.opensrc@ wrote:
>> From: Srinivasulu Thanneeru <sthanneeru.opensrc@micron.com>
>>
>> Add support to expose following mailbox commands to userspace
>> for clearing and populating the Vendor debug log in certain
>> scenarios, allowing for the aggregation of results over time.
>>
>> 1. CXL r3.1 8.2.9.5.3 Get Log Capabilities.
>> 2. CXL r3.1 8.2.9.5.4 Clear Log commands.
>> 3. CXL r3.1 8.2.9.5.6 Get Supported Logs Sub-List.
>>
>> ---
>> Changes in v3:
>> - 'Component State Dump log' has several caveats for ioctl()
>>    not being a suitable ABI as pointed in v2.(Dan Williams)
>> - Remove Component State Dump from Clear log filter.
>> - Implement a seperate patch(yet to do) to address issues as pointed in v2.
>
>Circling back to this question... I had overlooked the fact that in v3.1
>the "Request Abort Background Operation" command was added (8.2.9.1.5).
>With that the kernel can safely support background commands with
>indefinite residency. So as long as the device supports that command and
>advertises that Log populate requests can be cancelled then we can build
>a facility to cancel any user-submitted background commands when a
>kernel internal need for the background command slot arises.

I don't have the access to test "Request Abort Background Operation."
Previously, we posted RFC for default time for background operations.
https://lore.kernel.org/linux-mm/20240207105349.301-1-sthanneeru.opensrc@micron.com/

 Could you please guide me on how to proceed with this current patch series?
Jonathan Cameron April 5, 2024, 5:31 p.m. UTC | #3
On Mon, 1 Apr 2024 06:03:07 +0000
Srinivasulu Opensrc <sthanneeru.opensrc@micron.com> wrote:

> >-----Original Message-----
> >From: Dan Williams <dan.j.williams@intel.com>
> >Sent: Wednesday, March 27, 2024 5:07 AM
> >To: Srinivasulu Opensrc <sthanneeru.opensrc@micron.com>; linux-
> >cxl@vger.kernel.org
> >Cc: Jonathan.Cameron@huawei.com; dan.j.williams@intel.com;
> >john@jagalactic.com; Eishan Mirakhur <emirakhur@micron.com>; Ajay Joshi
> ><ajayjoshi@micron.com>; Ravis OpenSrc <Ravis.OpenSrc@micron.com>;
> >Srinivasulu Thanneeru <sthanneeru@micron.com>
> >Subject: [EXT] RE: [PATCH v3 0/2] Add log related mailbox commands
> >
> >CAUTION: EXTERNAL EMAIL. Do not click links or open attachments unless you
> >recognize the sender and were expecting this message.
> >
> >
> >sthanneeru.opensrc@ wrote:  
> >> From: Srinivasulu Thanneeru <sthanneeru.opensrc@micron.com>
> >>
> >> Add support to expose following mailbox commands to userspace
> >> for clearing and populating the Vendor debug log in certain
> >> scenarios, allowing for the aggregation of results over time.
> >>
> >> 1. CXL r3.1 8.2.9.5.3 Get Log Capabilities.
> >> 2. CXL r3.1 8.2.9.5.4 Clear Log commands.
> >> 3. CXL r3.1 8.2.9.5.6 Get Supported Logs Sub-List.
> >>
> >> ---
> >> Changes in v3:
> >> - 'Component State Dump log' has several caveats for ioctl()
> >>    not being a suitable ABI as pointed in v2.(Dan Williams)
> >> - Remove Component State Dump from Clear log filter.
> >> - Implement a seperate patch(yet to do) to address issues as pointed in v2.  
> >
> >Circling back to this question... I had overlooked the fact that in v3.1
> >the "Request Abort Background Operation" command was added (8.2.9.1.5).
> >With that the kernel can safely support background commands with
> >indefinite residency. So as long as the device supports that command and
> >advertises that Log populate requests can be cancelled then we can build
> >a facility to cancel any user-submitted background commands when a
> >kernel internal need for the background command slot arises.  
> 
> I don't have the access to test "Request Abort Background Operation."
> Previously, we posted RFC for default time for background operations.
> https://lore.kernel.org/linux-mm/20240207105349.301-1-sthanneeru.opensrc@micron.com/
> 
>  Could you please guide me on how to proceed with this current patch series?

Whilst QEMU emulation doesn't yet support background command aborting, it wouldn't
be that hard to add and would provide a route to test this functionality.
We've done similar in a few other cases where no one had any hardware yet.

Of course that might not help you if you have silicon that doesn't implement it
but I agree with Dan that it is a lot less problematic to allow for unbounded
background ops if we can stop them for other urgent activity.

Jonathan