From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f53.google.com (mail-pj1-f53.google.com [209.85.216.53]) (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 3C63327B34F for ; Wed, 24 Dec 2025 16:50:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.53 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766595010; cv=none; b=L1YEo3GxTFnsZglqH8qkfXaFq6KndJvlqxVWOEyZqDLNu3Foc0jZ1SIpeVGh51gPhqR+S+j9bfAjhBhF8zAzJ3r/AdRR9Q54/BYAFcp1CCSy4MNuxDVWHj+4eFc7kEKB8G1pmeGDob3Rs6O7Rf9ZR4ihStEOunbP+7WWqcooP6U= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766595010; c=relaxed/simple; bh=pD8YfDZ8KDvIJ2txTMDBnlCOh6vlZTyz6vhh+e8d2W8=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=lES0oURgro+xaUwq8TlaRmiPu2/+DphuWZbBjrRSMcr7Zv5RDW4FxvsCWxSQv8UttwOacOOFoYYGiHy3/5mBTNpCLHn9F3v2fiIXng3iLo44ZQgWhUkAgqDSHRSV5sry2DG9zMTnDM5ip02scY1zB7LrCSKJOLMp2rX128DVXFc= 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=Cz/La5V0; arc=none smtp.client-ip=209.85.216.53 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="Cz/La5V0" Received: by mail-pj1-f53.google.com with SMTP id 98e67ed59e1d1-34cf1e31f85so4889234a91.1 for ; Wed, 24 Dec 2025 08:50:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1766595007; x=1767199807; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=cnHqqpgJDbRv/a/D7gH1Mi4jXPMVJ5IBYITwv6FaifY=; b=Cz/La5V0IS2jWtSCTwPYxgGBPlIImyTU9hHDxzRUyWE1/AJ/Pk6VX4L4ax9ougmTOR +p8VEFCGM7DOpz87af4RVWlfK1yGgk5gYvV8PwH6QiIsNkHMrzz9DKWrBhrN+CAUCOpA GlZo4OWn/VooTBqxdjgnvdDngpOtQz5B0cFu5roID5Bv6kryrpdz8+lFHoMm0WNtwv7m 4BGRgmneL04o967UkndgtTxfR42ft38hqPptGy1iK5D1CrxOzjbnxsoyumGG7wfuqgRA 3JGMADqeb5k0pvl5PYG/FZDoPTI4fhbB9xyjvi15kkli/21w9Bph6F3LZmm44KDgqlV1 QbLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766595007; x=1767199807; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=cnHqqpgJDbRv/a/D7gH1Mi4jXPMVJ5IBYITwv6FaifY=; b=jiALyCQlCUQARRySM++Qd3KIWScUjr213xbEHWu5h4jFNelKVe53vJnNsDBt47KmPR ouiE7SZIGFPXBanRxdr0SdxtLAJ1783hTAMxHyofY7boBKpfNs0xA+iT5g275g512Zli bmUkhFGpF7Pv+TKRfTPkOOJ0679ozMypv+Mbgim90PKvBxcCvIt8KlFQ/8JuwEHOtK1o pso8EqsUWWiUdmpJOC9L5YgA3Nd3XggKsTo5aJn3fcBopjiX/FEqUPV1KJUHBlYf4rmT 3sisN4YwSzz/sGOJ6hYaJHiOQjlZWzFs8bBLq4CQZZF7xDt5mCLjhU29F7nXHCsyyce6 XZwA== X-Forwarded-Encrypted: i=1; AJvYcCXjFpWyqL+8FE1kCSBG4LT8dIVODHfuqdvbKbYiipZjZjKlHxIuzHQT872jZK0agHO/n7PF0XkPW5uESXg=@vger.kernel.org X-Gm-Message-State: AOJu0YxM/HE0QWnNxpV2FahI+qkf815e3ouzddHLzwy2JHDjj/vjJc13 312+v40XbSdah8/BLiM21l7yF+GU/RL7C6KyAttP9q1ATU6Kk1gUB8R5 X-Gm-Gg: AY/fxX6HnD/gbNePKAskgNhZHboKGQp4zqqidnnzoJ5UqGPQhtQttNyB3Kn55/y9afn OwSpUoZlEXwSSBOps4ieoCnhkmj+Pr2gJ6EEaKKzA+SKe/tE5vPm7Ps7DEqwP7PtpntLrlahOfR Ig5FvQhKG8FTr4JK6AJ/aQxTF5LNNyYZfZhR31nJsnF7XahUrH7xLF4TgFdSlxtk04lctG43SIu h0JHDHivGgcL/YWCo4GZGtoS5uOYA+bBY7AZmG8/SuIWjF3f7w05IARYmFYAd2HVlUzzKk20s5/ EHY/AmopIuQq8J3jOsBo9aKMoT1ls1PEi/JQczz52ve/ph2WN5i9BK03sdoAwmQb0a5PllnOsy+ YrQg5ZPyqRF1BCgpn/YWFD4m+yeWkRVH/oMnI2DYiSIRn2XmYpqnx2IHmjGT0Bqe6cuxuhfwBcD TYPv0qyiGAj9Rcmp+yuM6uDC+NI5AWBMigxzxHKU3Hz6cf8St5IWcIC80URcO4hB0aN7HvDw== X-Google-Smtp-Source: AGHT+IFbzQ7yMQch0JLVgEhdJ9FTN364+UnyPdio+VpjXb21RfQOByyL0xWkrHKOy6iC60/tY4/H+A== X-Received: by 2002:a17:90b:580e:b0:340:d511:e164 with SMTP id 98e67ed59e1d1-34e921ae4camr14319741a91.19.1766595007324; Wed, 24 Dec 2025 08:50:07 -0800 (PST) Received: from ?IPV6:2001:ee0:4f4c:210:c711:242:cd10:6c98? ([2001:ee0:4f4c:210:c711:242:cd10:6c98]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7ff7e48f26asm17027776b3a.52.2025.12.24.08.50.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 24 Dec 2025 08:50:05 -0800 (PST) Message-ID: <75e32d60-51b1-4c46-bd43-d17af7440e74@gmail.com> Date: Wed, 24 Dec 2025 23:49:59 +0700 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH net 1/3] virtio-net: make refill work a per receive queue work To: "Michael S. Tsirkin" , Xuan Zhuo Cc: Jason Wang , netdev@vger.kernel.org, =?UTF-8?Q?Eugenio_P=C3=A9rez?= , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Alexei Starovoitov , Daniel Borkmann , Jesper Dangaard Brouer , John Fastabend , Stanislav Fomichev , virtualization@lists.linux.dev, linux-kernel@vger.kernel.org, bpf@vger.kernel.org References: <20251223152533.24364-1-minhquangbui99@gmail.com> <20251223152533.24364-2-minhquangbui99@gmail.com> <1766540234.3618076-1-xuanzhuo@linux.alibaba.com> <20251223204555-mutt-send-email-mst@kernel.org> Content-Language: en-US From: Bui Quang Minh In-Reply-To: <20251223204555-mutt-send-email-mst@kernel.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 12/24/25 08:47, Michael S. Tsirkin wrote: > On Wed, Dec 24, 2025 at 09:37:14AM +0800, Xuan Zhuo wrote: >> Hi Jason, >> >> I'm wondering why we even need this refill work. Why not simply let NAPI retry >> the refill on its next run if the refill fails? That would seem much simpler. >> This refill work complicates maintenance and often introduces a lot of >> concurrency issues and races. >> >> Thanks. > refill work can refill from GFP_KERNEL, napi only from ATOMIC. > > And if GFP_ATOMIC failed, aggressively retrying might not be a great idea. > > Not saying refill work is a great hack, but that is the reason for it. In case no allocated received buffer and NAPI refill fails, the host will not send any packets. If there is no busy polling loop either, the RX will be stuck. That's also the reason why we need refill work. Is it correct? Thanks, Quang Minh.