From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D6DDC8462 for ; Sun, 21 Jun 2026 00:08:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782000516; cv=none; b=YlwxMckMJDdSh3cqtWME0kBBuzsfZUZK3ANxHRoPoB0/xKeZ77o6fxYcfdnjRaE54EOibGmvZQkY4R3BgXqggPjdmvNFHtiEFzUI+VwHq96SHZtGU5MpHdjFIAsx+tWE27fTTm2SanTypX1F0lncncfIVSHqKH/Ip5K8bUdiuDI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782000516; c=relaxed/simple; bh=U4ZsyZ04K1gsvj29IrJlDHEu31J/LNUGosuk9W+iePI=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=tFEO8cGE5B2fDX2hDw2HJ4PM5v4rtEBe+WpT02/R6PJcnERxJONFKr7hG3c8LuUyHQMYtPSRKuNHuunSio26Pob6lWbN8y//I2Mlr/SjsY1GG8puS6/UxFFYhQt0ZGYrzPkLzzAL4xj8lRb2lybQtRP1WDI1roP2N/Qc/AXumqA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=PrCvxOKN; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=TuaM/3IY; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="PrCvxOKN"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="TuaM/3IY" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65KMSDnQ644578 for ; Sun, 21 Jun 2026 00:08:28 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= giTMnft+7U+QSuuNtk/Gaej8IYohIz0BQaKZBI8i7F4=; b=PrCvxOKN5yen8XaO ed0/1iodWFHRH98IGJYz+2a0LJDDeyxjYaOZGGK8NyA9GmE+4Je/weE7SfDUCXiL rHRZ5Lw6BvYPh65I51zXgHdurBMAe0twJza+uK5X7IERQDpUWnCasKlYgvC1uk1K gHy29uROGVGRSCQS3wKhwF4Z3G897SfFfciY5/nd9iTFk+c/pAq3gqZsg/aWFUZC pyskf3Q/W3Dx3IVH86srExOeh707vw+/jLj7RJzonccSnXQItfTuPXA506sBtAii 7Qeobpi85moT80ty7lxtQNDGv7sb4Aw7oKlubzF9+/A5GDU9YzXypYtvZTDwAbJ8 sJn8gw== Received: from mail-dl1-f72.google.com (mail-dl1-f72.google.com [74.125.82.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ewg7mj7yg-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 21 Jun 2026 00:08:28 +0000 (GMT) Received: by mail-dl1-f72.google.com with SMTP id a92af1059eb24-1383723dfddso5095188c88.0 for ; Sat, 20 Jun 2026 17:08:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1782000507; x=1782605307; darn=vger.kernel.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=giTMnft+7U+QSuuNtk/Gaej8IYohIz0BQaKZBI8i7F4=; b=TuaM/3IYjwQ2eswdJfmma3dclD47Ot0jVbyYpRLeCfE8F2tastOk0cQbh4H6qG1iew hYCtMQFX16mgvVwpLMWtw6SNadpXxEK4t5YWa1SBldeKQs7l3+MULbjqM5IYFomglDME PASBc73gBm+CLsZ4NrhtS4ukXAV0cJxhk7vo2YoC51RgyhNENfs5L1xOul5Zx/2+Q8Oq C+o//vuU2JsG3A+okJL+VaVi+azqeNbFa5yuAAmRMkLLPF5nEG12Jc+oqSE/J6pLkrNu GYvtA9lAAiRXVZlcsby1JgDQAbG6mRRUz1TAIbrymkIajWFjAcDOpEoVTgZRwNVxuCna 0Ezw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782000507; x=1782605307; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=giTMnft+7U+QSuuNtk/Gaej8IYohIz0BQaKZBI8i7F4=; b=TIovYgTjs4aKSiVuhTq+sFQ/kiPlszRXWogJjPi60RJeeGjlGn9keURBeDXZ27jA+C kwPu6w2ZNb/Xsb8hOzdeOS9eYaHs7vY1s+tNyLOz0jEwyDl6/3/DJLdMoc2bSPk6pOwa uI4/EQSNCwvgmEDrTimbNrRL20X01tUeA6gL4+cQruDd7dt+ccVPZU85Xnuw4Hic0jz/ hwowGJgiFYLaLbqiqM/PN1Bl29IGa2lgEYJpH3aZoXWi8GpxfmIh6GD+3wWdrfZPv27L VNjIEO0P4JU/cRMYKscQxioS6qHomDE126NJYCCBBZhYMDLAFccfac/oOp9e76+npEwv itEw== X-Gm-Message-State: AOJu0YzynHrmxBdwISMZ3oJv9hp5ns8zaYto7KtacdxEpVoXTYdejyiI 4Xha73JmuOT+xOm47ojtj/ZXf+VjBmfK315zz5IjcYwxtBMjSihRp5GfDhVAk1H5QUcT1tMobyn CffzI/4YAFGdEqpVLTNdQ1oYwJsahcaRnhJ5o7iSOLW+yv7Fvo6Yh5IZahiy/FOIqqIk= X-Gm-Gg: AfdE7ck9+xd8L5bV7UQZhjZW4vFKD5fk5ho8afLgx2fuzo2jcnrqCrFlisIoTW7nS3y bIdqGlRluqoDKOI2/Q8fc5UiJMTnWny7W3+lopBnCKyN7bbvRQVXMleDNbM0N2khslIwuWvYNZr 2QVvkRvFKUEhau1AJeIuUg27ntIgg72+vgovfd6hEGvMcjwGZSnmaqzptMd/fswbDKOtH8dLlYX UJHmTaXY+gld5MhfSBj2d7kuCXeL6wiu+/1cTdvAuEe3LeaSydogjDUFws3Oqcx8pu2NTIgFVk1 F2UUfckzIWtFtKgBKIIqfWrrW/MVmWsyRvo8Zec7CJzHadfrO5OT/0Nx/gRLrIF1zx0Wszsukp/ yy5bnx7cFouO/R0wEGY4Nffd8AP9Z7o3ltouusln4HpEJ+bjuIkFTRXINB5Om X-Received: by 2002:a05:7022:ff4b:b0:136:83f5:c80 with SMTP id a92af1059eb24-139a34dbfe6mr4519479c88.4.1782000507243; Sat, 20 Jun 2026 17:08:27 -0700 (PDT) X-Received: by 2002:a05:7022:ff4b:b0:136:83f5:c80 with SMTP id a92af1059eb24-139a34dbfe6mr4519458c88.4.1782000506726; Sat, 20 Jun 2026 17:08:26 -0700 (PDT) Received: from hu-ashoraj-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-139adcaad8fsm3393425c88.1.2026.06.20.17.08.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 20 Jun 2026 17:08:26 -0700 (PDT) Date: Sat, 20 Jun 2026 17:08:24 -0700 From: Ashok Raj To: Rik van Riel Cc: linux-kernel@vger.kernel.org, kernel-team@meta.com, robin.murphy@arm.com, joro@8bytes.org, will@kernel.org, iommu@lists.linux.dev, jgg@ziepe.ca, kyle@mcmartin.ca, Rik van Riel , "ashok.raj@oss.qualcomm.com" Subject: Re: [PATCH v3 3/3] iova: defer maple tree erase on GFP_ATOMIC failure Message-ID: References: <20260603033653.4144138-1-riel@surriel.com> <20260603033653.4144138-4-riel@surriel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20260603033653.4144138-4-riel@surriel.com> X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjIwMDI0OSBTYWx0ZWRfX9qCVHqXcv+f6 UGjeHvXOulCfIjeYnaaZtGhvw6mZcKJI/BqWgBNuD9N3F0k2Pjpq8khTjMN4n43bvI+OJGomn24 9/r/jqxebZlx2HlaJP5JVj873u+ZE+2LwuZd109l8lKdOe1RbqB++bSlECNjOtgjDeErknaRMwM Ow6oJWqjGVR+1R7/zgn+1MxJFgM+gZ8STqaGIUtDMykk7Hp+UPGcKudHxQm0WTQG4RZPDTVDGpU NKGne98cmPLVSpDiMTc051CeKi3xKr9KCR1nFtWCeGLJtqQ/WDXwNNht9m6Y1iqeSklQQiNymrs C9F8MTvTSjDMqlk2fwOsZSYdMIY1GHG/sp/tqaW1jp1yxYsBxIM/+9mF85PfdIWqiXRVte1m8q+ fHBSr8OamHWHFUguJ4TwRQIMk3NGkFgUIru+/TVDHLBktch2rjcuo/2FZpIXmU7AXgmgkGR3h7L nhrbqarlNdBNlkXGfiw== X-Authority-Analysis: v=2.4 cv=IOMyzAvG c=1 sm=1 tr=0 ts=6a372b7c cx=c_pps a=bS7HVuBVfinNPG3f6cIo3Q==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=VabnemYjAAAA:8 a=wVPg2usKQdsiY6yO6a0A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=vBUdepa8ALXHeOFLBtFW:22 a=gKebqoRLp9LExxC7YDUY:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNjIwMDI0OSBTYWx0ZWRfX3MGxNrAQpXDK u5pdn1uF0m8KWhXfQImbou2yFq/N99QtU6dEJRi6b1uTzh8YtRHPpSlb+ppH56pV9O8JUcn+/wp +CUKh7dGE7QNRyJqLOFHuhzBAHqX0lg= X-Proofpoint-ORIG-GUID: p-vxEpNwHzJR68Rp5HZakhlQ0xlvF_VC X-Proofpoint-GUID: p-vxEpNwHzJR68Rp5HZakhlQ0xlvF_VC X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-20_04,2026-06-18_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1011 lowpriorityscore=0 bulkscore=0 phishscore=0 suspectscore=0 impostorscore=0 malwarescore=0 adultscore=0 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606200249 On Tue, Jun 02, 2026 at 11:35:48PM -0400, Rik van Riel wrote: > From: Rik van Riel > Hi Rik, I'm a bit rust on these, looking a them after a very long time. So take my question with a grain of salt :-) [snip] > +static void iova_deferred_free_work(struct work_struct *work) > +{ > + struct delayed_work *dwork = to_delayed_work(work); > + struct iova_domain *iovad = container_of(dwork, struct iova_domain, > + deferred_free_work); > + struct llist_node *list = llist_del_all(&iovad->deferred_frees); > + struct llist_node *node, *next; > + > + llist_for_each_safe(node, next, list) { > + struct iova *iova = container_of(node, struct iova, > + deferred_free); > + unsigned long flags; > + > + spin_lock_irqsave(&iovad->iova_lock, flags); > + if (remove_iova(iovad, iova)) > + free_iova_mem(iova); > + else > + llist_add(&iova->deferred_free, > + &iovad->deferred_frees); > + spin_unlock_irqrestore(&iovad->iova_lock, flags); > + } > + > + if (!llist_empty(&iovad->deferred_frees)) > + schedule_delayed_work(&iovad->deferred_free_work, > + msecs_to_jiffies(10)); If remove_iova() keeps failing (mas_store_gfp(NULL, GFP_ATOMIC) still can't get a maple tree node), the iova is pushed back onto deferred_frees and the work reschedules itself at a flat 10ms — forever. There is no retry counter or no backoff. Under sustained memory pressure a device doing frequent unmap could accumulate a growing deferred list, exhaust its IOVA space, and start failing DMA map calls — with nothing in dmesg pointing at the real cause. Should we: 1. A simple retry counter per iova (or a domain-level counter) with a WARN_ONCE after, say, 10 consecutive failures would at least make the condition visible. 2. Exponential backoff (10ms → 50ms → 200ms, capped at e.g. 1s) reduces wasted wakeups under sustained pressure without delaying recovery when memory frees up quickly. Cheers, Ashok