------- Comment From [email protected] 2022-02-03 03:44 EDT------- Here's the backported patch, based on git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/focal
=============================================================================== Author: Julian Wiedmann <[email protected]> Date: Wed Mar 18 13:54:45 2020 +0100 s390/qeth: use memory reserves to back RX buffers Use dev_alloc_page() for backing the RX buffers with pages. This way we pick up __GFP_MEMALLOC. Signed-off-by: Julian Wiedmann <[email protected]> Signed-off-by: David S. Miller <[email protected]> (backported from commit 714c9108851743bb718fbc1bfb81290f12a53854) Signed-off-by: Alexandra Winter <[email protected]> diff --git a/drivers/s390/net/qeth_core_main.c b/drivers/s390/net/qeth_core_main.c index ec8c7a640d9e..61372e5c279b 100644 --- a/drivers/s390/net/qeth_core_main.c +++ b/drivers/s390/net/qeth_core_main.c @@ -227,7 +227,7 @@ static int qeth_alloc_buffer_pool(struct qeth_card *card) return -ENOMEM; } for (j = 0; j < QETH_MAX_BUFFER_ELEMENTS(card); ++j) { - ptr = (void *) __get_free_page(GFP_KERNEL); + ptr = (void *) __dev_alloc_page(GFP_KERNEL); if (!ptr) { while (j > 0) free_page((unsigned long) @@ -2612,7 +2612,7 @@ static struct qeth_buffer_pool_entry *qeth_find_free_buffer_pool_entry( struct qeth_buffer_pool_entry, list); for (i = 0; i < QETH_MAX_BUFFER_ELEMENTS(card); ++i) { if (page_count(virt_to_page(entry->elements[i])) > 1) { - page = alloc_page(GFP_ATOMIC); + page = dev_alloc_page(); if (!page) { return NULL; } else { -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1959529 Title: IBM IDAA customer exposes hipersocket page allocation failure on Ubuntu 20.04 based SSC To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu-z-systems/+bug/1959529/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
