[Kernel-packages] [Bug 2073695] Re: Deadlock occurs while suspending md raid
Hi @philcox Any idea when we could expect this fix to be patched? Thanks. -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/2073695 Title: Deadlock occurs while suspending md raid Status in linux package in Ubuntu: New Status in linux-aws package in Ubuntu: New Bug description: System hung while suspending the raid. Steps to reproduce: 1. Create a raid with 2 devices 2. Suspend via sysfs (echo 274877906944 > /sys/block/md_X/md/suspend_hi) this issue was seen in Ubuntu-aws-6.5-6.5.0-1023 version. I found a fix for that issue that was already submitted to upstream (commit 611d5cbc0b35a752e657a83eebadf40d814d006b). link: https://git.kernel.org/pub/scm/linux/kernel/git/song/md.git/commit/drivers/md/md.c?h=md-6.11&id=611d5cbc0b35a752e657a83eebadf40d814d006b this patch wasn't added to aws-6.5-next branch(Ubuntu- aws-6.5-6.5.0-1024) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2073695/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 2073695] Re: Deadlock occurs while suspending md raid
Hi @philcox much appreciated! Thanks. -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/2073695 Title: Deadlock occurs while suspending md raid Status in linux package in Ubuntu: Fix Released Status in linux source package in Noble: Fix Committed Bug description: System hung while suspending the raid. Steps to reproduce: 1. Create a raid with 2 devices 2. Suspend via sysfs (echo 274877906944 > /sys/block/md_X/md/suspend_hi) this issue was seen in Ubuntu-aws-6.5-6.5.0-1023 version. I found a fix for that issue that was already submitted to upstream (commit 611d5cbc0b35a752e657a83eebadf40d814d006b). link: https://git.kernel.org/pub/scm/linux/kernel/git/song/md.git/commit/drivers/md/md.c?h=md-6.11&id=611d5cbc0b35a752e657a83eebadf40d814d006b this patch wasn't added to aws-6.5-next branch(Ubuntu- aws-6.5-6.5.0-1024) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2073695/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 2073695] Re: Deadlock occurs while suspending md raid
@philcox, just to make sure, the fix should be submitted to Ubuntu-aws Jammy and Noble right? -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/2073695 Title: Deadlock occurs while suspending md raid Status in linux package in Ubuntu: Fix Released Status in linux source package in Noble: Fix Committed Bug description: System hung while suspending the raid. Steps to reproduce: 1. Create a raid with 2 devices 2. Suspend via sysfs (echo 274877906944 > /sys/block/md_X/md/suspend_hi) this issue was seen in Ubuntu-aws-6.5-6.5.0-1023 version. I found a fix for that issue that was already submitted to upstream (commit 611d5cbc0b35a752e657a83eebadf40d814d006b). link: https://git.kernel.org/pub/scm/linux/kernel/git/song/md.git/commit/drivers/md/md.c?h=md-6.11&id=611d5cbc0b35a752e657a83eebadf40d814d006b this patch wasn't added to aws-6.5-next branch(Ubuntu- aws-6.5-6.5.0-1024) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2073695/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 2093871] [NEW] Using sendpages_ok() in nvme_tcp_try_send_data()
Public bug reported: Can you please cherry-pick those 2 important commits from upstream? 1. net: introduce helper sendpages_ok() (https://github.com/torvalds/linux/commit/23a55f44) Network drivers are using sendpage_ok() to check the first page of an iterator in order to disable MSG_SPLICE_PAGES. The iterator can represent list of contiguous pages. When MSG_SPLICE_PAGES is enabled skb_splice_from_iter() is being used, it requires all pages in the iterator to be sendable. Therefore it needs to check that each page is sendable. The patch introduces a helper sendpages_ok(), it returns true if all the contiguous pages are sendable. Drivers who want to send contiguous pages with MSG_SPLICE_PAGES may use this helper to check whether the page list is OK. If the helper does not return true, the driver should remove MSG_SPLICE_PAGES flag. 2. nvme-tcp: use sendpages_ok() instead of sendpage_ok() (https://github.com/torvalds/linux/commit/6af7331a) Currently nvme_tcp_try_send_data() use sendpage_ok() in order to disable MSG_SPLICE_PAGES, it check the first page of the iterator, the iterator may represent contiguous pages. MSG_SPLICE_PAGES enables skb_splice_from_iter() which checks all the pages it sends with sendpage_ok(). When nvme_tcp_try_send_data() sends an iterator that the first page is sendable, but one of the other pages isn't skb_splice_from_iter() warns and aborts the data transfer. Using the new helper sendpages_ok() in order to disable MSG_SPLICE_PAGES solves the issue. ** Affects: linux (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/2093871 Title: Using sendpages_ok() in nvme_tcp_try_send_data() Status in linux package in Ubuntu: New Bug description: Can you please cherry-pick those 2 important commits from upstream? 1. net: introduce helper sendpages_ok() (https://github.com/torvalds/linux/commit/23a55f44) Network drivers are using sendpage_ok() to check the first page of an iterator in order to disable MSG_SPLICE_PAGES. The iterator can represent list of contiguous pages. When MSG_SPLICE_PAGES is enabled skb_splice_from_iter() is being used, it requires all pages in the iterator to be sendable. Therefore it needs to check that each page is sendable. The patch introduces a helper sendpages_ok(), it returns true if all the contiguous pages are sendable. Drivers who want to send contiguous pages with MSG_SPLICE_PAGES may use this helper to check whether the page list is OK. If the helper does not return true, the driver should remove MSG_SPLICE_PAGES flag. 2. nvme-tcp: use sendpages_ok() instead of sendpage_ok() (https://github.com/torvalds/linux/commit/6af7331a) Currently nvme_tcp_try_send_data() use sendpage_ok() in order to disable MSG_SPLICE_PAGES, it check the first page of the iterator, the iterator may represent contiguous pages. MSG_SPLICE_PAGES enables skb_splice_from_iter() which checks all the pages it sends with sendpage_ok(). When nvme_tcp_try_send_data() sends an iterator that the first page is sendable, but one of the other pages isn't skb_splice_from_iter() warns and aborts the data transfer. Using the new helper sendpages_ok() in order to disable MSG_SPLICE_PAGES solves the issue. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2093871/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 2093871] Re: Using sendpages_ok() in nvme_tcp_try_send_data()
Yes. Without this fix, we might use unsendable pages. -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/2093871 Title: Using sendpages_ok() in nvme_tcp_try_send_data() Status in linux package in Ubuntu: New Bug description: Can you please cherry-pick those 2 important commits from upstream? 1. net: introduce helper sendpages_ok() (https://github.com/torvalds/linux/commit/23a55f44) Network drivers are using sendpage_ok() to check the first page of an iterator in order to disable MSG_SPLICE_PAGES. The iterator can represent list of contiguous pages. When MSG_SPLICE_PAGES is enabled skb_splice_from_iter() is being used, it requires all pages in the iterator to be sendable. Therefore it needs to check that each page is sendable. The patch introduces a helper sendpages_ok(), it returns true if all the contiguous pages are sendable. Drivers who want to send contiguous pages with MSG_SPLICE_PAGES may use this helper to check whether the page list is OK. If the helper does not return true, the driver should remove MSG_SPLICE_PAGES flag. 2. nvme-tcp: use sendpages_ok() instead of sendpage_ok() (https://github.com/torvalds/linux/commit/6af7331a) Currently nvme_tcp_try_send_data() use sendpage_ok() in order to disable MSG_SPLICE_PAGES, it check the first page of the iterator, the iterator may represent contiguous pages. MSG_SPLICE_PAGES enables skb_splice_from_iter() which checks all the pages it sends with sendpage_ok(). When nvme_tcp_try_send_data() sends an iterator that the first page is sendable, but one of the other pages isn't skb_splice_from_iter() warns and aborts the data transfer. Using the new helper sendpages_ok() in order to disable MSG_SPLICE_PAGES solves the issue. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2093871/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 2093871] Re: Using sendpages_ok() in nvme_tcp_try_send_data()
Masahiro Yamada, Thanks for the quick response. I'm using Ubuntu 22.04 (Ubuntu 22.04 6.5.0-1017-azure), but it's needed for Ubuntu 24.04 as well. I would rather not back-port to a stable community since it may take longer. Is this the only way? -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/2093871 Title: Using sendpages_ok() in nvme_tcp_try_send_data() Status in linux package in Ubuntu: New Bug description: Can you please cherry-pick those 2 important commits from upstream? 1. net: introduce helper sendpages_ok() (https://github.com/torvalds/linux/commit/23a55f44) Network drivers are using sendpage_ok() to check the first page of an iterator in order to disable MSG_SPLICE_PAGES. The iterator can represent list of contiguous pages. When MSG_SPLICE_PAGES is enabled skb_splice_from_iter() is being used, it requires all pages in the iterator to be sendable. Therefore it needs to check that each page is sendable. The patch introduces a helper sendpages_ok(), it returns true if all the contiguous pages are sendable. Drivers who want to send contiguous pages with MSG_SPLICE_PAGES may use this helper to check whether the page list is OK. If the helper does not return true, the driver should remove MSG_SPLICE_PAGES flag. 2. nvme-tcp: use sendpages_ok() instead of sendpage_ok() (https://github.com/torvalds/linux/commit/6af7331a) Currently nvme_tcp_try_send_data() use sendpage_ok() in order to disable MSG_SPLICE_PAGES, it check the first page of the iterator, the iterator may represent contiguous pages. MSG_SPLICE_PAGES enables skb_splice_from_iter() which checks all the pages it sends with sendpage_ok(). When nvme_tcp_try_send_data() sends an iterator that the first page is sendable, but one of the other pages isn't skb_splice_from_iter() warns and aborts the data transfer. Using the new helper sendpages_ok() in order to disable MSG_SPLICE_PAGES solves the issue. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2093871/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp