git: 0788e7c40ddb - main - ctld: Honor the default maximum I/O queue size for NVMeoF controllers

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Fri, 20 Feb 2026 20:40:02 UTC
The branch main has been updated by jhb:

URL: https://cgit.FreeBSD.org/src/commit/?id=0788e7c40ddbeedfd9713842440a8db2a8f7ea2f

commit 0788e7c40ddbeedfd9713842440a8db2a8f7ea2f
Author:     John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2026-02-20 18:56:00 +0000
Commit:     John Baldwin <jhb@FreeBSD.org>
CommitDate: 2026-02-20 20:38:18 +0000

    ctld: Honor the default maximum I/O queue size for NVMeoF controllers
    
    <dev/nvmf.h> exports a constant to set the default maximum I/O queue
    size which is used by ctl(4) if an explicit size is not set.  This
    value was chosen to match Linux's default, but it also avoids
    excessive resource usage for I/O queues.
    
    ctld was using the absolute maxium size as the default instead.
    
    Sponsored by:   Chelsio Communications
---
 usr.sbin/ctld/nvmf.cc | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/usr.sbin/ctld/nvmf.cc b/usr.sbin/ctld/nvmf.cc
index eb116903f5c1..e1ecf8ccc552 100644
--- a/usr.sbin/ctld/nvmf.cc
+++ b/usr.sbin/ctld/nvmf.cc
@@ -165,7 +165,7 @@ nvmf_portal::prepare()
 		    "max_admin_qsize", NVME_MAX_ADMIN_ENTRIES,
 		    NVME_MIN_ADMIN_ENTRIES, NVME_MAX_ADMIN_ENTRIES);
 		p_aparams.max_io_qsize = parse_number(nvl.get(), "max_io_qsize",
-		    NVME_MAX_IO_ENTRIES, NVME_MIN_IO_ENTRIES,
+		    NVMF_MAX_IO_ENTRIES, NVME_MIN_IO_ENTRIES,
 		    NVME_MAX_IO_ENTRIES);
 		p_aparams.tcp.pda = 0;
 		break;
@@ -334,9 +334,6 @@ nvmf_port::kernel_create_port()
 	nvlist_add_string(nvl.get(), "ctld_transport_group_name",
 	    pg->name());
 	nvlist_add_stringf(nvl.get(), "portid", "%u", pg->tag());
-	if (!nvlist_exists_string(nvl.get(), "max_io_qsize"))
-		nvlist_add_stringf(nvl.get(), "max_io_qsize", "%u",
-		    NVME_MAX_IO_ENTRIES);
 
 	return ctl_create_port("nvmf", nvl.get(), &p_ctl_port);
 }