[Ubuntu 16.04] Enable nvme block driver on Power

Bug #1531539 reported by bugproxy
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Undecided
Tim Gardner
Xenial
Fix Released
Undecided
Tim Gardner

Bug Description

This is a feature to cherry pick some nvme commits into 16.04 kernel.

Guilherme is going to specify which commits are being required.

bugproxy (bugproxy)
tags: added: architecture-ppc64le bugnameltc-124673 severity-high targetmilestone-inin1604
Changed in ubuntu:
assignee: nobody → Taco Screen team (taco-screen-team)
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. It seems that your bug report is not filed about a specific source package though, rather it is just filed against Ubuntu in general. It is important that bug reports be filed about source packages so that people interested in the package can find the bugs about it. You can find some hints about determining what package your bug might be about at https://wiki.ubuntu.com/Bugs/FindRightPackage. You might also ask for help in the #ubuntu-bugs irc channel on Freenode.

To change the source package that this bug is filed about visit https://bugs.launchpad.net/ubuntu/+bug/1531539/+editstatus and add the package name in the text box next to the word Package.

[This is an automated message. I apologize if it reached you inappropriately; please just reply to this message indicating so.]

tags: added: bot-comment
Steve Langasek (vorlon)
affects: ubuntu → linux (Ubuntu)
Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- Comment From <email address hidden> 2016-01-06 16:47 EDT-------
Currently, the below 11 nvme block driver upstream commits are not present on Ubuntu 16.04 kernel's git tree:

57dacad5f228 nvme: move to a new drivers/nvme/host directory
9d99a8dda154 nvme: move hardware structures out of the uapi version of nvme.h
f11bb3e244c4 nvme: add a local nvme.h header
2659e57b9065 nvme: properly handle partially initialized queues in nvme_create_io_queues
3cf519b5a8d4 nvme: merge nvme_dev_start, nvme_dev_resume and nvme_async_probe
90667892c5a7 nvme: factor reset code into a common helper
77b50d9e15e1 nvme: merge nvme_dev_reset into nvme_reset_failed_dev
201cf1ecdfe5 nvme: delete dev from dev_list in nvme_reset
0a7385ad69f0 NVMe: Simplify device resume on io queue failure
5105aa555c1c NVMe: Namespace removal simplifications
188c3568f814 NVMe: Reference count open namespaces

I want to ask Canonical to cherry pick those commits in the kernel so they can be in official release of Ubuntu 16.04.

Thanks in advance,

Guilherme

Revision history for this message
Tim Gardner (timg-tpi) wrote :

The target kernel for 16.04 is v4.4. Can these cherry-picks wait until we switch from v4.3 to v4.4 ? The final v4.4 release should be Jan 10.

Changed in linux (Ubuntu Xenial):
assignee: Taco Screen team (taco-screen-team) → Tim Gardner (timg-tpi)
status: New → In Progress
Revision history for this message
bugproxy (bugproxy) wrote :

------- Comment From <email address hidden> 2016-01-06 17:59 EDT-------
(In reply to comment #16)
> The target kernel for 16.04 is v4.4. Can these cherry-picks wait until we
> switch from v4.3 to v4.4 ? The final v4.4 release should be Jan 10.

Sure, it can wait until the release of v4.4 .

Thanks!

Revision history for this message
Tim Gardner (timg-tpi) wrote :

In the meantime, you can test this feature using the v4.4 based kernel in (https://launchpad.net/~canonical-kernel-team/+archive/ubuntu/unstable). This is what will ultimately become the 16.04 kernel.

Changed in linux (Ubuntu Xenial):
status: In Progress → Won't Fix
Revision history for this message
bugproxy (bugproxy) wrote :

------- Comment From <email address hidden> 2016-01-21 10:59 EDT-------
Breno - I am adding this comment to all eServer IO Features for Ubuntu 16.04. This comment applies to all that I have checked as a sample and do not have time to check every feature and add comments individually.

The State and Distro State of this Feature does not appear to be correct. Please review
https://ltc3.linux.ibm.com/wiki/TrackingSUSEReleaseFeatures
as a reference and set the state fields accordingly.

Thanks

Revision history for this message
bugproxy (bugproxy) wrote :
Download full text (4.1 KiB)

------- Comment From <email address hidden> 2016-01-29 10:40 EDT-------
I noticed Ubuntu's 16.04 kernel 4.4 is available now, right?

Doing a git log between the latest Canonical 4.4 and the upstream kernel (4.5-rc1), I found the following commits are missing from Ubuntu's kernel. Can you cherry-pick them?

Thanks in advance,

Guilherme

List of commits to be added in Ubuntu 16.04 kernel:

779ff7561709 NVMe: Export NVMe attributes to sysfs group
a5cdb68c2c10 NVMe: Shutdown controller only for power-off
db3cbfff5bcc NVMe: IO queue deletion re-write
25646264e15a NVMe: Remove queue freezing on resets
1d49c38c4865 NVMe: Use a retryable error code on reset
e3e9d50cd6ed NVMe: Fix admin queue ring wrap
4490733250b8 nvme: make SG_IO support optional
bfd8947194b2 nvme: fixes for NVME_IOCTL_IO_CMD on the char device
69d3b8ac15a5 nvme: synchronize access to ctrl->namespaces
363c9aacb6c5 nvme: Move nvme_freeze/unfreeze_queues to nvme core
ca5927e7ab53 lightnvm: introduce mlc lower page table mappings
22513215b83d lightnvm: return the get_bb_tbl return value
91276162de94 lightnvm: refactor end_io functions for sync
2b9b6e86bca7 NVMe: Export namespace attributes to sysfs
a0a3408ee614 NVMe: Add pci error handlers
f4800d6d1548 nvme: merge iod and cmd_info
bf68405705bd nvme: meta_sg doesn't have to be an array
eee417b06978 nvme: properly free resources for cancelled command
aae239e1910e nvme: simplify completion handling
adf68f21c155 nvme: special case AEN requests
e7a2a87d5938 nvme: switch abort to blk_execute_rq_nowait
d8f32166a9c5 nvme: switch delete SQ/CQ to blk_execute_rq_nowait
7688faa6dd2c nvme: factor out a few helpers from req_completion
4680072003df nvme: fix admin queue depth
4b9d5b151046 NVMe: Simplify metadata setup
53029b0441bb NVMe: Remove device management handles on remove
92f7a1624bbc NVMe: Use unbounded work queue for all work
540c801c65eb NVMe: Implement namespace list scanning
6bf25d16410d nvme: switch abort_limit to an atomic_t
5c8809e65077 nvme: remove dead controllers from a work item
fd634f414286 nvme: merge probe_work and reset_work
e1569a16180a nvme: do not restart the request timeout if we're resetting the controller
846cc05f95d5 nvme: simplify resets
297465c873ae nvme: add NVME_SC_CANCELLED
31c7c7d2c9f1 nvme: merge nvme_abort_req and nvme_timeout
4c9f748f0ee8 nvme: don't take the I/O queue q_lock in nvme_timeout
77bf25ea7020 nvme: protect against simultaneous shutdown invocations
7385014c0732 nvme: only add a controller to dev_list after it's been fully initialized
749941f2365d nvme: only ignore hardware errors in nvme_create_io_queues
8c0b39155048 nvme: precedence bug in nvme_pr_clear()
d1ea7be5f755 nvme: fix another 32-bit build warning
ac02dddec633 NVMe: fix build with CONFIG_NVM enabled
06c1e3902aa7 blk-integrity: empty implementation when disabled
9a0be7abb62f nvme: refactor set_queue_count
f3ca80fc11c3 nvme: move chardev and sysfs interface to common code
5bae7f73d378 nvme: move namespace scanning to common code
ce4541f40a94 nvme: move the call to nvme_init_identify earlier
7fd8930f26be nvme: add a common helper to read Identify Controller data
5fd4ce1b005b nvme: move nvme_{enable,disable,shutdown}_ctrl to common code
1b2eb3746...

Read more...

Revision history for this message
Tim Gardner (timg-tpi) wrote :
Download full text (4.1 KiB)

lightnvm: fix bio submission issue
lightnvm: fix incorrect nr_free_blocks stat
lightnvm: add check after mempool allocation
lightnvm: unlock rq and free ppa_list on submission fail
lightnvm: move ppa erase logic to core
lightnvm: refactor rqd ppa list into set/free
lightnvm: refactor end_io functions for sync
lightnvm: return the get_bb_tbl return value
lightnvm: check bi_error in gc
lightnvm: put block back to gc list on its reclaim fail
lightnvm: fix locking and mempool in rrpc_lun_gc
lightnvm: sectors first in ppa list
lightnvm: move the pages per block check out of the loop
lightnvm: support multiple ppas in nvm_erase_ppa
lightnvm: move rq->error to nvm_rq->error
lightnvm: introduce nvm_submit_ppa
lightnvm: reference rrpc lun in rrpc block
lightnvm: fix missing grown bad block type
lightnvm: manage open and closed blocks separately
lightnvm: add mccap support
lightnvm: introduce mlc lower page table mappings
lightnvm: core on-disk initialization
lightnvm: introduce ioctl to initialize device
lightnvm: use system block for mm initialization
lightnvm: introduce factory reset
lightnvm: ensure that nvm_dev_ops can be used without CONFIG_NVM
blk-mq: add a flags parameter to blk_mq_alloc_request
UBUNTU: [Config] CONFIG_BLK_DEV_NVME_SCSI=y
nvme: move struct nvme_iod to pci.c
nvme: split command submission helpers out of pci.c
nvme: use offset instead of a struct for registers
nvme: split nvme_trans_device_id_page
nvme: use vendor it from identify
nvme: split a new struct nvme_ctrl out of struct nvme_dev
nvme: simplify nvme_setup_prps calling convention
nvme: refactor nvme_queue_rq
nvme: factor out a nvme_unmap_data helper
nvme: move nvme_error_status to common code
nvme: move nvme_setup_flush and nvme_setup_rw to common code
nvme: split __nvme_submit_sync_cmd
nvme: use the block layer for userspace passthrough metadata
nvme: move block_device_operations and ns/ctrl freeing to common code
nvme: add explicit quirk handling
nvme: move remaining CC setup into nvme_enable_ctrl
nvme: move nvme_{enable,disable,shutdown}_ctrl to common code
nvme: add a common helper to read Identify Controller data
nvme: move the call to nvme_init_identify earlier
nvme: move namespace scanning to common code
nvme: move chardev and sysfs interface to common code
nvme: refactor set_queue_count
blk-integrity: empty implementation when disabled
NVMe: fix build with CONFIG_NVM enabled
nvme: fix another 32-bit build warning
nvme: precedence bug in nvme_pr_clear()
nvme: only ignore hardware errors in nvme_create_io_queues
nvme: only add a controller to dev_list after it's been fully initialized
nvme: protect against simultaneous shutdown invocations
nvme: don't take the I/O queue q_lock in nvme_timeout
nvme: merge nvme_abort_req and nvme_timeout
nvme: add NVME_SC_CANCELLED
nvme: simplify resets
nvme: do not restart the request timeout if we're resetting the controller
nvme: merge probe_work and reset_work
nvme: remove dead controllers from a work item
nvme: switch abort_limit to an atomic_t
NVMe: Implement namespace list scanning
NVMe: Use unbounded work queue for all work
NVMe: Remove device management handles...

Read more...

Changed in linux (Ubuntu Xenial):
status: Won't Fix → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (4.0 KiB)

This bug was fixed in the package linux - 4.4.0-4.19

---------------
linux (4.4.0-4.19) xenial; urgency=low

  * update ZFS and SPL to 0.6.5.4 (LP: #1542296)
    - [Config] update spl/zfs version
    - SAUCE: (noup) Update spl to 0.6.5.4-0ubuntu2, zfs to 0.6.5.4-0ubuntu1
    - [Config] reconstruct -- drop links for zfs userspace components
    - [Config] reconstruct -- drop links for zfs userspace components -- restore spec links

  * recvmsg() fails SCM_CREDENTIALS request with EOPNOTSUPP. (LP: #1540731)
    - Revert "af_unix: Revert 'lock_interruptible' in stream receive code"

  * lxc: ADT exercise test failing with linux-4.4.0-3.17 (LP: #1542049)
    - Revert "UBUNTU: SAUCE: apparmor: fix sleep from invalid context"

  * WARNING: at /build/linux-lts-wily-W0lTWH/linux-lts-wily-4.2.0/net/core/skbuff.c:4174 (Travis IB) (LP: #1541326)
    - SAUCE: IB/IPoIB: Do not set skb truesize since using one linearskb

  * backport Microsoft Precision Touchpad palm rejection patch (LP: #1541671)
    - HID: multitouch: enable palm rejection if device implements confidence usage

  * [Ubuntu 16.04] Update qla2xxx driver for POWER (QLogic) (LP: #1541456)
    - qla2xxx: Remove unavailable firmware files
    - qla2xxx: Enable Extended Logins support
    - qla2xxx: Enable Exchange offload support.
    - qla2xxx: Enable Target counters in DebugFS.
    - qla2xxx: Add FW resource count in DebugFS.
    - qla2xxx: Added interface to send explicit LOGO.
    - qla2xxx: Delete session if initiator is gone from FW
    - qla2xxx: Wait for all conflicts before ack'ing PLOGI
    - qla2xxx: Replace QLA_TGT_STATE_ABORTED with a bit.
    - qla2xxx: Remove dependency on hardware_lock to reduce lock contention.
    - qla2xxx: Add irq affinity notification
    - qla2xxx: Add selective command queuing
    - qla2xxx: Move atioq to a different lock to reduce lock contention
    - qla2xxx: Disable ZIO at start time.
    - qla2xxx: Set all queues to 4k
    - qla2xxx: Check for online flag instead of active reset when transmitting responses
    - scsi: qla2xxxx: avoid type mismatch in comparison

  * [Hyper-V] PCI Passthrough (LP: #1541120)
    - x86/irq: Export functions to allow MSI domains in modules
    - genirq/msi: Export functions to allow MSI domains in modules

  * Update lpfc driver to 11.0.0.10 (LP: #1541592)
    - lpfc: Fix FCF Infinite loop in lpfc_sli4_fcf_rr_next_index_get.
    - lpfc: Fix the FLOGI discovery logic to comply with T11 standards
    - lpfc: Fix RegLogin failed error seen on Lancer FC during port bounce
    - lpfc: Fix driver crash when module parameter lpfc_fcp_io_channel set to 16
    - lpfc: Fix crash in fcp command completion path.
    - lpfc: Modularize and cleanup FDMI code in driver
    - lpfc: Fix RDP Speed reporting.
    - lpfc: Fix RDP ACC being too long.
    - lpfc: Make write check error processing more resilient
    - lpfc: Use new FDMI speed definitions for 10G, 25G and 40G FCoE.
    - lpfc: Fix mbox reuse in PLOGI completion
    - lpfc: Fix external loopback failure.
    - lpfc: Add logging for misconfigured optics.
    - lpfc: Delete unnecessary checks before the function call "mempool_destroy"
    - lpfc: Use kzalloc instead of kmalloc
...

Read more...

Changed in linux (Ubuntu Xenial):
status: Fix Committed → 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.