MPS (Max Payload Size) is not correctly programmed upon Hot Insertion NVMe PCIe SSD

Bug #1794110 reported by Sujith Pandel
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Committed
Medium
Joseph Salisbury
Bionic
Confirmed
Medium
Unassigned
Cosmic
Fix Committed
Medium
Joseph Salisbury

Bug Description

Max Payload Size for the NVMe device is not getting programmed correctly.
The OS is trying to set the device MPS to match Root Port which is greater than Capability of Device, instead of looking for lowest common denominator.

This is fixed in upstream kernel version 4.19. Below are the commits that fix the issue.
Please help include them in Ubuntu releases.

PCI: Skip MPS logic for Virtual Functions (VFs)
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/pci/probe.c?h=v4.19-rc2&id=3dbe97efe8bf450b183d6dee2305cbc032e6b8a4

PCI: Match Root Port's MPS to endpoint's MPSS as necessary
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/pci/probe.c?h=v4.19-rc2&id=9f0e89359775ee21fe1ea732e34edb52aef5addf

Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1794110

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Incomplete → Triaged
Changed in linux (Ubuntu Bionic):
status: New → Triaged
importance: Undecided → Medium
tags: added: bionic cosmic kernel-da-key
Changed in linux (Ubuntu Cosmic):
status: Triaged → Fix Released
status: Fix Released → In Progress
assignee: nobody → Joseph Salisbury (jsalisbury)
Changed in linux (Ubuntu Bionic):
status: Triaged → In Progress
assignee: nobody → Joseph Salisbury (jsalisbury)
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

I built a test kernel with the two requested commits. The test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1794110/cosmic

Can you test this kernel and see if it resolves this bug?

Note about installing test kernels:
• If the test kernel is prior to 4.15(Bionic) you need to install the linux-image and linux-image-extra .deb packages.
• If the test kernel is 4.15(Bionic) or newer, you need to install the linux-modules, linux-modules-extra and linux-image-unsigned .deb packages.

Thanks in advance!

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

The test kernel posted in comment #2 is for cosmic. Bionic needs some backporting, so I'll post that test kernel shortly.

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Also, cosmic already has commit 3dbe97efe8bf applied, so the test kernel just needed commit 9f0e89359775.

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

A bionic test kernel is also available with commits 3dbe97efe8bf and 9f0e89359775 applied.

The test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1794110/bionic

Can you test this kernel and see if it resolves this bug?

Revision history for this message
Sujith Pandel (sujithpandel) wrote :

Thank you for sharing a test-kernel.
We will test it and revert back here with test-results.

Thanks,
Sujith

Revision history for this message
Sujith Pandel (sujithpandel) wrote :

The cosmic test-kernel based on v4.18 is a Pass.
Please include them in planned HWE kernels of 18.04.2 that is based on v4.18.

The bionic test-kernel based on v4.15 is a Fail.
This requires a few more patches to be included.

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Do you happen to know which commits are also needed in Bionic?

Revision history for this message
Sujith Pandel (sujithpandel) wrote :

@jsalisbury -
Unfortunately we do not have that info in hand. I'll check if we can try getting it.

I see the patches in HWE 4.18 kernel of 18.04.2.
Thanks for including them in it.

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Thanks for the feedback. If you can get a list of additional commits that are needed in Bionic, that would be great. An alternative would be for us to perform a reverse bisect, but that would require a lot of testing and be time consuming.

Changed in linux (Ubuntu Cosmic):
status: In Progress → Fix Committed
Changed in linux (Ubuntu Bionic):
assignee: Joseph Salisbury (jsalisbury) → nobody
status: In Progress → Confirmed
Revision history for this message
Michael Reed (mreed8855) wrote :

Both of these patches are in Focal so I am going to close this bug

Changed in dell-poweredge:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.