Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp3008267img; Mon, 25 Mar 2019 01:39:53 -0700 (PDT) X-Google-Smtp-Source: APXvYqyHz1XYZDwUmOwnZ/bAqQ1+5h/HXmkgIbAd7w/JHkaCa0V9iQxyDVm6ZQ2FyUqJJRjVVYEK X-Received: by 2002:a17:902:27a8:: with SMTP id d37mr24348551plb.164.1553503193400; Mon, 25 Mar 2019 01:39:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553503193; cv=none; d=google.com; s=arc-20160816; b=R44nCXHUyhnPSHuVNP7EXx00vqwR9tHwf/oYlyiFCc9K1yHPWCtAGlMkNNZLBdE7Io /IvScvDZ2Lk/rBPPGIFXPwMG7gON6YGxB3e3VToe0s3aUQLLzNQQ3RYWhAB2sxap6ccI lErOxVVe7ZmD8lWRf2FCgIV7fPbDgzzchfr+6+MylfmHi+UTTwCq8kU2tyYaHagWyKt1 V2JAWCkaaIHmdlBn6Biho+v+QjGhAFQ34Tsmb4+lBI8W61m8lJ9PYMi9YzDOvZkl/FUw Lixe1jG1O07vgjGaJ8MkYq/x5pmX0JiTH3sKw3beiwYvdtN/tJ3Jq4fsEhpi0jvJQ/4b Nr9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :mime-version:dkim-signature; bh=z+7nkfvtTneu9IAc9nPOkE1jK+Q1sW5bgIuB7n+sbEg=; b=0hOV2LNP5yiUVJVVZtgUAT88e6IGIB1iQ+CS55qRbafqA6Qa5foPoRT66VQE0tl9VW QOw1mR7Ju3bhq9qhUDQ9HQl1jLgPSHArtTOYVOsfNA08mhlsx4pBAwPj9o/zSR5fqKJs ZaP6VjNnL2MWuJTZrFa27N3Ya2MmVwcr/bn7EDbLX0Q+qyFWHJFuIiQiAXU92Uzjeu3x vPlSwLcupnfHW1ZMF2148f3CS/5ws4Kap5/m9wPojJPy7emz+7vkVPRDXjVR74RRhtkj e9VRK1XuH7RFTWIjUG2YFZi5ZOhI1M827B9DLTcnpXax3MLyNwgqQ/iYB+B5f/+2f2IC XC1w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=tEneCk2D; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i11si12726751pgs.85.2019.03.25.01.39.38; Mon, 25 Mar 2019 01:39:53 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=tEneCk2D; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730465AbfCYIi0 (ORCPT + 99 others); Mon, 25 Mar 2019 04:38:26 -0400 Received: from mail-it1-f175.google.com ([209.85.166.175]:37959 "EHLO mail-it1-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730307AbfCYIhW (ORCPT ); Mon, 25 Mar 2019 04:37:22 -0400 Received: by mail-it1-f175.google.com with SMTP id m18so12611447ita.3; Mon, 25 Mar 2019 01:37:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=z+7nkfvtTneu9IAc9nPOkE1jK+Q1sW5bgIuB7n+sbEg=; b=tEneCk2DBOvDwWM5bKHnxu24dtnzYvGjnhsaBfGf6CGteGlL/5A4hXjWZBSOXwtFqV GYvWRr4RolPdRSiMp4dC2tOlOszLOOo1Ejiu2krkhz34fnMu/nc1n3D8SO9t95tpCi2X 3vI+7ZQfQw0MCWs9I3MVINWmSyo8FgeCe6bFuU91/bZLlLU2EmoRy3MoAKcuMwRgtLuK I4XetwYdsU7u8DlIpbVln7Jd6MeYr1sE/2ztH21XyFPwsxbOLXLaHmQfqfQ23jETTjWe Tt/+fZh4j+Fe9jOULS+DinJN+2yz/gikdyHgCyki/dGPkcm84hbzpCBF5D4/NqUbM8z4 DucQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=z+7nkfvtTneu9IAc9nPOkE1jK+Q1sW5bgIuB7n+sbEg=; b=XCSFLXLDE0efZ1YLtgGBHnbvru6nG00Mz6n8kqxClLISDtyZFChMeyUxvK/cg/bgOO 2jTXeOgw+/1qwHietq+NONaVA178ybjoPeKKxyiN/9lddXa0EqaSQwCcyw1oN0yU+3jF L7YB0W0gJKfH0ZNVKhREFs3o1nUoIr0bkGWw7T2+cCrgJWyIgzPk2dIvHYFdXibxJjpF SUBL8mA6DcmvrQpu8ePTG/SpKrAJHMNT6m0lERyBQcGSvOvAJWAxo+bOiuPjitDV/RUA DuEj837g0BOXabQ9uEvsM/fjECOo/4tsAAQvUQEjioz4iOTszvQSSRcn4sHdwBY4v6dJ nAsQ== X-Gm-Message-State: APjAAAWvvV0iZKXevPxQAkROdX0wG6lSMj4jkt232Q9ddN21ukFZqgLi AznWJPzmaHTTUN2DY9htWjG98r+lBOYZTtb5J/g= X-Received: by 2002:a02:a083:: with SMTP id g3mr3916773jah.44.1553503041292; Mon, 25 Mar 2019 01:37:21 -0700 (PDT) MIME-Version: 1.0 From: Peter Chen Date: Mon, 25 Mar 2019 16:37:09 +0800 Message-ID: Subject: Why CMA allocater fails if there is a signal pending? To: Michal Nazarewicz Cc: Marek Szyprowski , linux-usb@vger.kernel.org, linux-arm-kernel@lists.infradead.org, lkml , linux-mm@kvack.org, peter.chen@nxp.com, fugang.duan@nxp.com Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Michal & Marek, I meet an issue that the DMA (CMA used) allocation failed if there is a user signal, Eg Ctrl+C, it causes the USB xHCI stack fails to resume due to dma_alloc_coherent failed. It can be easy to reproduce if the user press Ctrl+C at suspend/resume test. Below is the call stack: [ 466.585755] [] alloc_contig_range+0x1ac/0x3b8 [ 466.585763] [] cma_alloc+0x10c/0x2d8 [ 466.585772] [] dma_alloc_from_contiguous+0x3c/0x48 [ 466.585779] [] __dma_alloc+0xa8/0x248 [ 466.585788] [] xhci_mem_init+0x1c8/0x7f8 [ 466.585794] [] xhci_init+0x74/0x170 [ 466.585800] [] xhci_resume+0x184/0x630 [ 466.585807] [] cdns3_host_resume+0x34/0x68 [ 466.585813] [] cdns3_resume+0x1b0/0x2d0 [ 466.585820] [] dpm_run_callback+0x50/0xd0 [ 466.585825] [] device_resume+0xa0/0x288 [ 466.585832] [] dpm_resume+0xfc/0x218 [ 466.585837] [] dpm_resume_end+0x14/0x28 [ 466.585844] [] suspend_devices_and_enter+0x140/0x5b0 [ 466.585849] [] pm_suspend+0x294/0x300 [ 466.585857] [] state_store+0x84/0x108 [ 466.585865] [] kobj_attr_store+0x14/0x28 [ 466.585873] [] sysfs_kf_write+0x48/0x58 [ 466.585879] [] kernfs_fop_write+0xcc/0x1c8 [ 466.585886] [] __vfs_write+0x1c/0x118 [ 466.585894] [] vfs_write+0xa4/0x1b0 [ 466.585901] [] SyS_write+0x44/0xa0 I added WARN_ON at below code for above stack: __alloc_contig_migrate_range while (pfn < end || !list_empty(&cc->migratepages)) { if (fatal_signal_pending(current)) { WARN_ON(1); ret = -EINTR; break; } The USB xHCI function can work well if I commented out above code. Thanks. BR, Peter Chen