From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9D519CF9C6B for ; Tue, 24 Sep 2024 06:27:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0EE936B00AB; Tue, 24 Sep 2024 02:27:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0A13E6B00AC; Tue, 24 Sep 2024 02:27:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E81306B00AD; Tue, 24 Sep 2024 02:27:48 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id C40FC6B00AB for ; Tue, 24 Sep 2024 02:27:48 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 711A5A8D56 for ; Tue, 24 Sep 2024 06:27:48 +0000 (UTC) X-FDA: 82598651016.21.BEC175E Received: from mail-pg1-f173.google.com (mail-pg1-f173.google.com [209.85.215.173]) by imf14.hostedemail.com (Postfix) with ESMTP id 99F03100015 for ; Tue, 24 Sep 2024 06:27:45 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=SuhQS3mb; spf=pass (imf14.hostedemail.com: domain of ilias.apalodimas@linaro.org designates 209.85.215.173 as permitted sender) smtp.mailfrom=ilias.apalodimas@linaro.org; dmarc=pass (policy=none) header.from=linaro.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1727159205; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Fq1eeBVCVo8skENTGGXSVFjvxg6ebjriCPrvVo2SiL0=; b=E+69e3eaeWW0oaSCy6PWrxvmrMTVvaSKxbhAo3C99jGO5N1Cq3wyTL+5O5j0lGe9aV+tuZ xJewvVYJSK6gnUw5tFiaCgrj5LaEs2SVSelDAyAZBQFUj9IYvXThb3Tf9VDBM716SIqVfl WcoF0+6GcniDnXaM9pFs1I/e4Uv13dM= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=SuhQS3mb; spf=pass (imf14.hostedemail.com: domain of ilias.apalodimas@linaro.org designates 209.85.215.173 as permitted sender) smtp.mailfrom=ilias.apalodimas@linaro.org; dmarc=pass (policy=none) header.from=linaro.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1727159205; a=rsa-sha256; cv=none; b=U/cUOvqWJSk81Iw0zJzsuyei28b/tuOMdiQQjJPlm5tc4GMDKXAnOvE3ujGUubK61E8CLd cSelx170tEHEQZInjYcLXlUXoiAQA/zW3iWzs4VbG4D8c8jwueOIwcFzV+Qk0VvLKOBjKP HR5I3tNVGtiMHyjDhQVFiSkt5PELidk= Received: by mail-pg1-f173.google.com with SMTP id 41be03b00d2f7-7db233cef22so4106925a12.0 for ; Mon, 23 Sep 2024 23:27:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1727159264; x=1727764064; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Fq1eeBVCVo8skENTGGXSVFjvxg6ebjriCPrvVo2SiL0=; b=SuhQS3mbxX1z595tMFf35MCbols+IfP8l7zGOyqytz9QCaspY/9bmAm7vNznihaxE3 BSr1iGrpbd8Ce/hsv7lCpMASrcUbibIOHWJqzMGTwILJRscEiUQz1ySY5mD0ZIUXYSmN vIFVXfxvx4O0sqyAYsl7TXHKTZFGGPGANT0PIQLg8qSmjDJJLk0L6tzX13t8jLF0SKbI eqtcnFM55X7K0dCUGMNVxMejGI1nqVcoVeQ4PIvoMB3rnT3zMn9E6kdyIcc7KdVS/Kw2 X8B8uKT3giGbab2ZJO40xWUGr6LxtCyiqTDEkOpC+SfKy7mfmfzAT9PxzkkDng4iHlhF ux5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727159264; x=1727764064; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Fq1eeBVCVo8skENTGGXSVFjvxg6ebjriCPrvVo2SiL0=; b=A6xwMUGdtVlI/1XXWFpKZ+egAUxzJgJ86JFvSKS7l+Ccg5KKSiO/Jrshp08vN/5OKz LG+cSkrJodMavHTsqH008RWMmqN/QO8qUBlNWW2NaORxRA+GOKyUccbmuAUz/Br8aJI7 5IiUWZYfGL5wifuPL79pDEHF/4AIKOhreHCX981Pos25RdZAe/TImIy7wd7Q8/UgbrJa qay4zSSrn/zl6fZD1SpyRQbxhyUVwhGGyzkFQdT4zshX/zEMI8A0soFjEyKc97IGJHBy 1a3erGdWEDaA2RtV+eKlq+vV0I3d0KpQlVqp9YvsaH9bvNcc+OnkqlD2yc1ErCV3w0ok M8Hg== X-Forwarded-Encrypted: i=1; AJvYcCUZarLTK9bQq3o2okfiwmQN2J7HwHR10NPOcPJ07NRf/rd+MrlElwYvjVKnIEcPhWyL7r5uGSqVLQ==@kvack.org X-Gm-Message-State: AOJu0Yyzl7dLxnDkHYspQ6ckGSvYNDTr12dcNYxaKulxs1zzr0Db5Y7T OXt3rImsiqKd2ukyW+svNQHW4GbZRHsG2gkm8XkXGHEetR/5GH8gc4Q4Qu/z68UHrjkVxU3q0s2 7KvF1BB3NySXMI9hy09sCoJx1jr9BGZePcYgg8g== X-Google-Smtp-Source: AGHT+IHPN9LFslQTM1gMYN4tKKonS0hsjh0tam1Zi62PvgetLTo885uAHaByvQOqprrT+VS/gMQK9GARTq8LGeXeZ6c= X-Received: by 2002:a05:6a21:9217:b0:1cf:3461:2970 with SMTP id adf61e73a8af0-1d30a9bf6dfmr20527541637.41.1727159264301; Mon, 23 Sep 2024 23:27:44 -0700 (PDT) MIME-Version: 1.0 References: <20240918111826.863596-1-linyunsheng@huawei.com> <20240918111826.863596-3-linyunsheng@huawei.com> <894a3c2c-22f9-45b9-a82b-de7320066b42@kernel.org> <0e8c7a7a-0e2a-42ec-adbc-b29f6a514517@kernel.org> <2c5ccfff-6ab4-4aea-bff6-3679ff72cc9a@huawei.com> <20240923175226.GC9634@ziepe.ca> In-Reply-To: <20240923175226.GC9634@ziepe.ca> From: Ilias Apalodimas Date: Tue, 24 Sep 2024 09:27:07 +0300 Message-ID: Subject: Re: [PATCH net 2/2] page_pool: fix IOMMU crash when driver has already unbound To: Jason Gunthorpe Cc: Yunsheng Lin , Jesper Dangaard Brouer , davem@davemloft.net, kuba@kernel.org, pabeni@redhat.com, liuyonglong@huawei.com, fanghaiqing@huawei.com, zhangkun09@huawei.com, Robin Murphy , Alexander Duyck , IOMMU , Wei Fang , Shenwei Wang , Clark Wang , Eric Dumazet , Tony Nguyen , Przemek Kitszel , Alexander Lobakin , Alexei Starovoitov , Daniel Borkmann , John Fastabend , Saeed Mahameed , Leon Romanovsky , Tariq Toukan , Felix Fietkau , Lorenzo Bianconi , Ryder Lee , Shayne Chen , Sean Wang , Kalle Valo , Matthias Brugger , AngeloGioacchino Del Regno , Andrew Morton , imx@lists.linux.dev, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, intel-wired-lan@lists.osuosl.org, bpf@vger.kernel.org, linux-rdma@vger.kernel.org, linux-wireless@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: 99F03100015 X-Stat-Signature: kow1jymo16u3cydkryh99g7h7ahp3taa X-HE-Tag: 1727159265-173283 X-HE-Meta: U2FsdGVkX1+BYI72FDGgwFttXRmJj+XvaiT2ah71wDhtosyi9vntnfBis0G2ae6goy2Eks/3x65lBnV+3wtsIPpl/KWIU5Ax9VJkxUKp8PuzKL9OkPbzY4Zzrv5x5B7ZQ7hW0GvlvnvcTVPehY5RWFMdHALN2wXTjCSaCfV3mqz8OQN26SLAccIxprA+aWFC/Km0uJV5i2BKQ5sWsSpjO52Rt1egBJzi+/j8ePXn5vdEaFEHnZSnYxpdsf8qX8/+NZUVXq5WkZCD6/3m9TiT6oNBsFZUZFpxZZmUgQGWx+pzuZe7FTOfdPtLf5FXi9C7Ms00DeZICIA2z4Pp+8BopvC4Q+CBaLsx5XxzLGJygHUTEc4Kuvnw0T2U/P6FRT116QnMOjiuKvxtKGSSW9RzymmmiPux22lhwnIuJMu/gBeOlMqF/DtlCbPYOy0Ip3kQ0v24Hf+mY0yvjYG4mjLYfDbuxhNhApCula8ULLlmzXQMnQjARtPbo6EeYKZDSGCCuHKqqXkkfuEMjZGHiusA6/XxAdGw2p/jAU8WlF5/gENCUMQGLX6bSBjcSbOc9mxgaxWiDVeiRkcZ1lS9pJA5a6nxeoebVQSd7TvjrF+c1t3IgzpLtQ3pcNjiML25BYbQ02QG+x08sZSkKCLuK8TeBjcFk2wDjwQCexQHTbjgMY8Z3ju+20bY3V7oh+REZ06E6NrBateOjmw0VWfdSZFWKiTP3NFUi8Sr7/NhszOAiR5ANCdJS9yEfkeCqmEAdwayN1rrgdl8MWGo0lZk6ztwkt7a0AaLy/Pp4Xb7Noc5r42+EWxqsUskPAzYmzQXORRD6t7rdzbaAHeXMWRtX/9uy7jnEx5jACsJ7jn6rvSjTd934+ucyL+sazxzW/2CZ2HPb2N8WqRSa985S/DCmfH89A02WVKW6V4+9vsXKDM5727mehFWINyNGivWhXXxHAzhy8ITmlhukHJgoY1WstC NN69XCY9 v+d7FX/Uzx/GYCcYkSNwV1KzaHValj7wZ0KZXTnfrEQMtyqjMiML3iyWO3X9qzyV9NVcgLpF687FDwdHwr5UKz/3DWbGQUJUHaOfEq83QIuB8PzwjMaPZipAoZ69h/YOt6oYHwBK7VkQR+RSAcZFcnPWhb4NXqZ+v7J1jMPXJ/9X0BiZ0IJFE64QbB5W1WPmHtsEultvXa/aUoPovzlhguGuge5GUkDg+9kggw1YMKWZblJWbOie0a+99Dz2/yX/zB9sOGk1HlkvkWe2Z3P0lSdBnaGNH16juXjU/LxabZ6Q349XDpxqD+nm8qg6PtiVAY0wckjME2gr7YqHc0rgNWC1C7/Nodw8lGNZc8rZ0I1QI00jPR4QW8OItcQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hi Jason, On Mon, 23 Sept 2024 at 20:52, Jason Gunthorpe wrote: > > On Fri, Sep 20, 2024 at 02:14:02PM +0800, Yunsheng Lin wrote: > > > I am not sure what dose the API that allows netdev to "give" struct device > > to page_pool look like or how to implement the API yet, but the obvious way > > to stall the calling of device_del() is to wait for the inflight > > page to > > It is not device_del() you need to stall, but the remove() function of > the device driver. > > Once all drivers have been unbound the DMA API can be reconfigured and > all existing DMA mappings must be concluded before this happens, > otherwise there will be problems. > > So, stalling something like unregister_netdevice() would be a better > target - though stalling forever on driver unbind would not be > acceptable. TBH, I have doubts that even stalling it for small amounts of time is going to disrupt userspace and people are going to yell at us. I am gonna repeat myself here, but I think keeping a list of the inflight SKBs that we need to unmap when the interface goes down, is the most complex, but less disruptive solution Thanks /Ilias > > Jason