From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed1-f47.google.com (mail-ed1-f47.google.com [209.85.208.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C86B42773CA for ; Sat, 11 Jul 2026 09:12:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.47 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783761132; cv=none; b=jQ9053LP/DHvxgx4lstF3xe06ZMpt0VcJYAQ0An0ppeSc1sxSm6/GtlfDTXmnTxyL187XRsTrugN5waQfyVXwvofl2+IUqotq3jprIBV5bEjLSKDNrkdjmMYRneUHkpjgMZmfmuQgcse9s1VA6B1AYiblR2+oMATY6adhqYvLvI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783761132; c=relaxed/simple; bh=uPaiOGoNFr7zkBX2pJiSPMuPQwkXNFMgfzCf29UXcHc=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=sDbHMqIejhD+Bj1RijNe4lT0Qx3TcvohUIgUxhulJymT/L2cnU2yGxH4HvkmE0+fDUBTh8VspSn9/6V46mTjV9KT9OsDDPF5q1FZmtGnPhRXB3EtVyoxX6QJvJy3SIKh/wZ/gN+Vuw+gghlB983rTCD4Hg8uGuYbZ9PPzSK/azM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=L3eGaEjp; arc=none smtp.client-ip=209.85.208.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="L3eGaEjp" Received: by mail-ed1-f47.google.com with SMTP id 4fb4d7f45d1cf-693c51a8a19so2555552a12.3 for ; Sat, 11 Jul 2026 02:12:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1783761129; x=1784365929; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=PSFjPIB523gHDvD4Fc7ge2yKmmEA/d172Uh20iN5gWg=; b=L3eGaEjptoxFEfk89oJhjPMsM75k7gHEIrDsQGsZdIagygiZWoqThfrDRd29GAPMeF 1jAdgaUDxcTUETI68WH7Aqu2kjgzNusRXyb0K7NdZ+4u/AIEx1udO57i4aRfrc8zdfrM pN7cAwm9HCmnsYxgTvuR1RLYuP0jkyi53/eEwB1Y7EU2tvNi+B+8zJhqOIxA+bcEbUx3 eEUkVGFbgebixee+H0xdBULw3B7867pfYUThux4FaK2vZj3OZjCZBPidqgbe2+0fyv+k e1/SpwDEVdYWZcLzVSyQ4F8aqBED6D3ioqnsRkcfx9tELs4eyQBDB8JdZpyKhjIWEIn5 oiBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783761129; x=1784365929; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=PSFjPIB523gHDvD4Fc7ge2yKmmEA/d172Uh20iN5gWg=; b=jkPW8TU+DI6hVsamaZZnDHQUVh4AYHJEUVvx0v/wPvcXqmHp4286eufVXMmjH6VXFl rdCqGHAWz0MM8RIe65kl8qn6cdlYl6ljIMi4dAz/zzlJ1j0qbw3xDBfiOkDE14k5pdwT Sd5zNs7s3pOSrM4ecQ6KstLOKPuRzpPrIBHf23JS8h8NnQIisxUCj+QgLhdf5AwjWxXy Ys0kl77PLN8G8Q0vmLKPsTwY0ED5wxFIPOmWYLlM6wdIb9OljMtzTGfzpQmwuc15ZwTJ 0ZrN7XdWjAzNa3PXYu58RNkDxmdZiIE4Uif9lrt8HdcbCIXKaBEHN69UCmsxUy7Z160m P/jA== X-Forwarded-Encrypted: i=1; AHgh+RpqrfiOEpHoCqD0BfKyFi4oJq/6v/6QudMi9uf27PjxeAlRcCRauxUSOog7CwbLMw2TmPCECzs=@vger.kernel.org X-Gm-Message-State: AOJu0Yw6cTzFBHeUGJHncVDHUkvo3DD7Sujy/t6Y/6A7QMUNu4hzkQSZ fIp8chM3ERh9sjuzFHoFYggCMc31UOUsB1tnt4yzb0NlrR6m9ltMBhhEgMFvaw== X-Gm-Gg: AfdE7cns5gx0xoy0AnL5NVuQlk12U8LU+LFClBEnXMfHz5rB/BxEfmp9QYRaNfk9jqV /K+9bucw8gCpt/Qa+AM7f0WHMbAZtRzi5K/RMPlGqzsm2ufeRYRG5jcR93PNm2lo/AlWj/7wX5S 1JsHp16CaJRMwDXurYtz+9QBd5SyvhiT7CGEjnZxVH7oGa5mnLSJXtbFDNiSZDnH4YkfSQGS6oq bwNuoCUnGeyW6dV2y4cXIBjETVmP+Ex3wBzBsa6gprJegOvPW2onM56+2VMoDpBViiWCuOkrUot 0Dl/XlUq9m1qZwGLdyJ8pl4k7Z/vZ9UMa72eKbJloiqvHawZ5j5fHre6xDrMEgfo3E414VKixSW ICcWZNOGfuLJKCD4H85rASnGlLfTmN0Hz4cUBhGNuQh6TQeRUuZyRre7HxYaCd/bwjk6jTwcxSx S79pC/PS8T9tvTZgMUfhRkoCkGzLoa7B0ZL6bjvdc8LuKEZkQsrN8qCIHgeeu0dceA1mXZf4XsU FtLDWWTQMkTQJqrlWwWNXzV/ygeg/VqJR+KHfrxJoIdoNg= X-Received: by 2002:a05:6402:380b:b0:69a:44e0:7455 with SMTP id 4fb4d7f45d1cf-69c5f11721fmr871751a12.30.1783761128956; Sat, 11 Jul 2026 02:12:08 -0700 (PDT) Received: from 127.0.0.1localhost (82-132-221-54.dab.02.net. [82.132.221.54]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-69c60d47188sm681191a12.27.2026.07.11.02.12.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Jul 2026 02:12:07 -0700 (PDT) From: Pavel Begunkov To: io-uring@vger.kernel.org Cc: asml.silence@gmail.com, netdev@vger.kernel.org Subject: [PATCH review-only 00/17] zcrx RQ improvements and dynamic memory provisioning Date: Sat, 11 Jul 2026 10:11:23 +0100 Message-ID: X-Mailer: git-send-email 2.54.0 Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sending it out mainly to trigger review bots. The first half improves the refill queue implementation and improves refilling limits, which shows up when niovs are heavily fragmented like with large rx pages. The 2nd half adds dynamic backing memory provisioning. Pavel Begunkov (17): io_uring/zcrx: scale refilling with large pages io_uring/zcrx: move RQ head/tail to separate cache lines io_uring/zcrx: add RQ iterator io_uring/zcrx: cache RQ tail io_uring/zcrx: coalesce same-niov RQEs on refill io_uring/zcrx: constify area_reg on import io_uring/zcrx: add helper for deriving area token io_uring/zcrx: don't pass ifq_reg to area creation io_uring/zcrx: split dmabuf unmap and release io_uring/zcrx: unmap under netdev lock io_uring/zcrx: split append out of area creation io_uring/zcrx: move freelist lock to struct zcrx io_uring/zcrx: array of areas io_uring/zcrx: pass area_id to __zcrx_create_area() io_uring/zcrx: add dynamic area creation io_urint/zcrx: narrow var scope in io_zcrx_recv_skb() io_uring/zcrx: don't reload skb_shinfo include/uapi/linux/io_uring/zcrx.h | 7 + io_uring/query.c | 2 +- io_uring/zcrx.c | 445 +++++++++++++++++++++-------- io_uring/zcrx.h | 15 +- 4 files changed, 345 insertions(+), 124 deletions(-) -- 2.54.0 From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ej1-f47.google.com (mail-ej1-f47.google.com [209.85.218.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6B6F23BB11D for ; Sat, 11 Jul 2026 10:40:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.47 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783766433; cv=none; b=pAA0dAKifnxw4I657ydDxWTP+glynjK5R7EZsqOybr943ywFvBJj0fWtxYkVIfQVm/29NcubKE2I0UzYtjhGZkeJjS5pud1x6+YXf28QHDwN6krGQe+sxlmwNdisT0tC3XrQvKqOlZbQH8+uY/cOW+GbFU+e6Da1LejrkvjCnV0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783766433; c=relaxed/simple; bh=uPaiOGoNFr7zkBX2pJiSPMuPQwkXNFMgfzCf29UXcHc=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=Z6+gaF9yuT8TbFzEhR4D5llGfu/lsDmWSruvVxKO4dzEy10TuBC6Xlz+tH6oZWLas4pCghMKvY8EsMXN/W2KbH+SqhpW0IhyYUVeIm4fJurGVEjOfmDqYm4unBRQE7NQ+DMunpb1fOxcvRaHFaH2LtgnDA6wQdVoQB6VzqB9rS4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=kOyJmZEO; arc=none smtp.client-ip=209.85.218.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="kOyJmZEO" Received: by mail-ej1-f47.google.com with SMTP id a640c23a62f3a-c15ea93028dso185283366b.3 for ; Sat, 11 Jul 2026 03:40:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1783766429; x=1784371229; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=PSFjPIB523gHDvD4Fc7ge2yKmmEA/d172Uh20iN5gWg=; b=kOyJmZEOSDagqzhp1AkhmZnbUjgQsqHGN3F83w6j5hNqvMVLDLUcZctQs3pNHzUlpg idp4fCnya8Uvuzh3jEUR37JUzsjyMQdMtTheyJ1QAO9p+HCyi3O4STF7XLVzlnGkTJqM DZE5tuTNRenaNZEE2rjnj5zlxl0CMFtY4TFthu3TmyM52UhbX6hzTaZXVjtx32+tBRvw CAxHfs9yWAlSzMKWbLc9NF6Kgk1VHbMQqGSY4HH8t8ObCTsOw3jWWv1FmOrYbgEjMs8s 0uZ9fMcBCkI1foeBQGdkig/I+Mf4/7nFVBNu/Y7+tMcSCeNCQ1xSOhUvBEE0v6u+FDK9 DwiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783766429; x=1784371229; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=PSFjPIB523gHDvD4Fc7ge2yKmmEA/d172Uh20iN5gWg=; b=ogbWnoAyGFun+/u0fYRYloVkK5ZYudijykf0S62S72G8aDxTtav61+nEjfWm7Ph8/k xGlKyMikvovy+e+DIcx+CP/oiQBLpUjvKUdlRZ50oUkLLG26SX233Js3yQh3o0i5E/On o3prqMycivsE6Sh7spprL3NDbac5DfUBzQVd8wOeZVxnqSg5zvokhhjQsHv5J2ai0Ugz yGAmJw5WU7KDpQWdSqBuRWH2l5mRyhEYltCg29g0oq6kI7FMrXAMDXj9Q9V82N4t8BHl rMDqugL+OMYGv22qVM8i/kzadrFtOQNzzRWg6XAnVStcdUjq3i1cq4gNrxgK/7A/41T8 NeIg== X-Forwarded-Encrypted: i=1; AHgh+RpeA+jG5G1wQ4iLaZtlFbfjWqmzeo8GPLPHZSEV8dlzvz+jXEIVHqy3kjVviejMqKVxBCTE3os=@vger.kernel.org X-Gm-Message-State: AOJu0YxlizeK5TpuDPbV1djL4KU0YHNCflhj9vLSBhQXAdHZhdVzh43/ TAvcWhr4a+k3s+goGhIkwulXUZRcCiEw7fm3P36cLUK9j7YglRefSg5E X-Gm-Gg: AfdE7cmU2TF3zHohOYRta6HiQHgWhPpain6ORFzBHZwjV3XKoxKsACtDOIKnklftsMv /9uBXCMgT7gp9AcvcLg651Vb33N2EPZr6UUQscnPRF7odJMjcaalq+Yy3uAaot4mLwmLd/8idnZ /zq5+g7+ahi7hp3YG4GvBpoXpfyoNrSk4B/dwqhEd0gPFRU4QCeRsPbbQD4qT0WAULWJ1U07Y4k ZGh6FwO7IVNukyg46SROLeecyXDv/9tBg/dTAbimJCzlQMWE2fIbtOvEj+Nw7zQVoWu7ovZQ0Uf K14/oY95eEQIhOj0YhMB3zPBp54RmfZHueJ86OfhiY7Ao0t4HYEKNw0428LxO1krhMZNNgmZvxj fT+syTDCdTKR/S+o0RZM66wCzjTDpDLM+lbk484L4DiXf+UBMxC3+CgQq+meTju0QtrHgQlQ0AK Erj2343a5ZuLvvP+RrCzit0o062/rUCE6nny0PRr3xtQxXRV+7e2IVKXfb3ZZR9TXbqeXDpRmtm V/sEARhLPZCe4OQ4Pjem0iQw9Dagqq6JGxqvLc1Rn3Eu4ekVg== X-Received: by 2002:a17:907:3e12:b0:c15:ff7b:ad69 with SMTP id a640c23a62f3a-c161eaa959emr84236566b.34.1783766428403; Sat, 11 Jul 2026 03:40:28 -0700 (PDT) Received: from 127.0.0.1localhost (82-132-222-132.dab.02.net. [82.132.222.132]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c15d5de95e6sm483041566b.39.2026.07.11.03.40.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Jul 2026 03:40:27 -0700 (PDT) From: Pavel Begunkov To: io-uring@vger.kernel.org Cc: asml.silence@gmail.com, netdev@vger.kernel.org Subject: [PATCH RESEND review-only 00/17] zcrx RQ improvements and dynamic memory provisioning Date: Sat, 11 Jul 2026 11:39:53 +0100 Message-ID: X-Mailer: git-send-email 2.54.0 Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID: <20260711103953.K-XQU0kt_VMmhQFqJZomzYrFcDcVAl-4M1CvwyVIcIM@z> Sending it out mainly to trigger review bots. The first half improves the refill queue implementation and improves refilling limits, which shows up when niovs are heavily fragmented like with large rx pages. The 2nd half adds dynamic backing memory provisioning. Pavel Begunkov (17): io_uring/zcrx: scale refilling with large pages io_uring/zcrx: move RQ head/tail to separate cache lines io_uring/zcrx: add RQ iterator io_uring/zcrx: cache RQ tail io_uring/zcrx: coalesce same-niov RQEs on refill io_uring/zcrx: constify area_reg on import io_uring/zcrx: add helper for deriving area token io_uring/zcrx: don't pass ifq_reg to area creation io_uring/zcrx: split dmabuf unmap and release io_uring/zcrx: unmap under netdev lock io_uring/zcrx: split append out of area creation io_uring/zcrx: move freelist lock to struct zcrx io_uring/zcrx: array of areas io_uring/zcrx: pass area_id to __zcrx_create_area() io_uring/zcrx: add dynamic area creation io_urint/zcrx: narrow var scope in io_zcrx_recv_skb() io_uring/zcrx: don't reload skb_shinfo include/uapi/linux/io_uring/zcrx.h | 7 + io_uring/query.c | 2 +- io_uring/zcrx.c | 445 +++++++++++++++++++++-------- io_uring/zcrx.h | 15 +- 4 files changed, 345 insertions(+), 124 deletions(-) -- 2.54.0