From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) (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 C74A33B9949 for ; Sun, 16 Aug 2026 15:39:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.171 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786894763; cv=none; b=npPHlrT1n8fx/7K2/d/77MTtey36pZ31kJro0wVkAdWBI9s3vp7vCjlmRkLzP29PK0wc7M3I/POXM8h0fv3Ff8C9RA1E8TdO0frgeloZXGP0XV1r+bKLmsS5VsjcIGvocyBaJAXt4GKnUDeyqYK+NGPV3yX6HIwXVuT0F9DRvBo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786894763; c=relaxed/simple; bh=fuXMHtXZNdDkh9SMvcuo1KEh+S2GgVCMae+AfB9+6o0=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=a1D1xAZqk11UVLhiF3t5worGvJQc2O99eXKk3hotMKxOXoBiSYyJM3goXdTOGqSlBSxsVzYG0Q+IGy2TVkL0i0CHOTH22VcPm3IPJdGVTkbp3w0YPM2/obkeWxx6JG92wHzD/0hlb5jnB/IpZoa+9GDZKFc5It1mWRBccu2/pc0= 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=RzmH2bcg; arc=none smtp.client-ip=209.85.214.171 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="RzmH2bcg" Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-2ceaf8a1265so39372965ad.2 for ; Sun, 16 Aug 2026 08:39:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786894761; x=1787499561; 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=P73PRx+EDTzK8cprRxXBiawz3Zha2PqE84oSBC9bew0=; b=RzmH2bcgP6HFOxDuYoOHtQqjUuHN5zwtu4CbZs7EP5FTTrDGWuiY+Ty1hw6C7ryeBz CPWHGnm0vmZ6pYRMX8vg8408f/xd1V/MOsCM3MWwKoyNYiyG8wLByJWUPApJ16ecuEhi TwQWz9g+J/UrIMnIbZfUI5zmyOWMh+ejZtoNoX2OQFRgP+UeW+/657+itRT1se6BAu0O nroIa54Bwn41PIvSrSgemtCnTy5gHR/qoMQGNlCcY00QXfU5d0Zflp/apSo2vV/Zdsr4 Xs4NGX+G9GGNgKKydcMOy9M9veUqP+kIeD1I3THx0kSow8MzZKhVqn88il5qF06jI5oe 5DDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786894761; x=1787499561; 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=P73PRx+EDTzK8cprRxXBiawz3Zha2PqE84oSBC9bew0=; b=OK2DfljC+MIyFbrlkFMvC7Gc7sTarVqPUhHV/fITTZUDWryG+tYulE6PYQ939z2oGk MwRcupCQaPvbB4fNXQA+IqOhnX3ol9s0Tw+mUr2HpSCn4P5t+Qi04bsakfmBAK7mZGMb r7YEtHY81EBifnUDXQQYuEX7Av4Hban6sjgrootX15mSYVtGaVhIs+IgPvf8DWnwFMVa l6krEXeo9j7i0AKbL+4QaEKxQpL6DHLCcgmqRZPOxM6z4/Dy2RMzSWPwkebvfowY8lhA EW+5Pj42Y/5rPQnDN6x+robFo+bFIyCsAv+WI/RfBm2Hp8Jks0liEY2jkRM+qXrtLPsm m+LQ== X-Gm-Message-State: AOJu0Ywd5k/VEUJS7rVRviZdQsNYLjIgBHv/nOGd0tngUro3uoimkDDg cGHHr2cErH37Tnp90myzLEsz9CHkVjMtLFR/qjOvneZymf05CJ64AcVW X-Gm-Gg: AR+sD10Ov6X/w585pllL2k4cxPlsT8kDmUm/BunRqq5ehmK614Z60LOaWLb5JfNyM3o OTk3ndsrY6kFntjBNoc44TUeCC69HFXHxRGrp5ODdlsAFW88eE/CKekuKjJyeQ+gdX2rG1KM34A 8RmOBsL2mHP+ZQl3i73yTFjbJ/o8kOgbvVMuVts6BuRTgYxrpfNYdAGAtWk+pvujzC7o1lOpPVg ObcOzl0vAyJxp66ZXDS/x/WoYaFKyR4Snh+mdFUSOQFKv1J9/Cyk0ZCPUyO1yOzLgqTcQoDUDvY IhKBA8Xy3HsWN9k2/mklhtnUQzPbg0qC31WwIk8vciV8lQ5RR0LXPV8WAjlt5Z2g3CY55eUgta4 MB6XvU90Ck2x3KXNEzxkP5cIu1204b4kweZW1slctF+DrW3COhwhzxYjgNBZ4DDXEKYZ4vXZ688 qw5MmhB5Y06JSZMbGwtrtwbQRq1gijcAY1ppUPlDI5znzSqDYbNdFqwg8UoFgyOXLQ0fTXjszw1 hg= X-Received: by 2002:a05:6a21:599:b0:3bf:5b7a:fc8b with SMTP id adf61e73a8af0-3cc717540ddmr19928465637.0.1786894761070; Sun, 16 Aug 2026 08:39:21 -0700 (PDT) Received: from Modern-15.. ([2401:4900:a069:993b:8f9f:648d:c9a9:d989]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-320ea804233sm24501914eec.26.2026.08.16.08.39.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 16 Aug 2026 08:39:13 -0700 (PDT) From: mathura kumar To: brauner@kernel.org Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, corbet@lwn.net, mathura.kumar.tech@gmail.com Subject: [PATCH v3 0/4] Add two new system call mq_recvmmsg() and mq_sendmmsg() to posix ipc mqueue Date: Sun, 16 Aug 2026 21:04:19 +0530 Message-ID: <20260816153811.1085261-1-mathura.kumar.tech@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Patch series overview: 1. Add New system call mq_recvmmsg(), mq_sendmmsg() and handler implementation. 2. Add system call number in all most common architectures. 3. Add entries in performance tools. 4. Prepared Documentation and test. Hi Everyone, It has been couple of month since last work but yeah I had quite hectic schedule and has been recieved lot of feedback to improve many thing. I am also new in kernel development so its hard in early month to digest lot of subtle things in code, flow etc. Therefore i have taken time to deep dive.. so now,I will be gratefull if you spend little bit of time in reviewing current work. Thanks, change since v2: - my official mail changed to from - iovec is introduced for arguments. - since v2 does not contain batch operation and I introduced batch support now in recv or peek, due to that I added one more system call to support batch during send as well otherwise i don't see any benefites of having batching in consumer side only. - tree is augmented with two new field for improving traversal complexity. - lot of edges cases got handled like compat layer, Flag check for unkown operation to make it robust and resilient. - self test is updated - documentation is updated appropriately. - v2 Link: https://lore.kernel.org/linux-arch/20260320052340.6696-1-academic1mathura@gmail.com/T/#t mathura kumar (4): IPC: Added two new system call mq_recvmmsg() and mq_sendmmsg() IPC: Added system call entry in all of most common architectures IPC: Added system call entry in performance tool Test: Added self-testing and documentation Documentation/userspace-api/index.rst | 2 + Documentation/userspace-api/mq_recvmmsg.rst | 205 +++++++ Documentation/userspace-api/mq_sendmmsg.rst | 168 ++++++ arch/alpha/kernel/syscalls/syscall.tbl | 2 + arch/arm/tools/syscall.tbl | 2 + arch/arm64/tools/syscall_32.tbl | 3 + arch/m68k/kernel/syscalls/syscall.tbl | 2 + arch/microblaze/kernel/syscalls/syscall.tbl | 2 + arch/mips/kernel/syscalls/syscall_n32.tbl | 2 + arch/mips/kernel/syscalls/syscall_n64.tbl | 3 + arch/mips/kernel/syscalls/syscall_o32.tbl | 2 + arch/parisc/kernel/syscalls/syscall.tbl | 2 + arch/powerpc/kernel/syscalls/syscall.tbl | 2 + arch/s390/kernel/syscalls/syscall.tbl | 3 + arch/sh/kernel/syscalls/syscall.tbl | 2 + arch/sparc/kernel/syscalls/syscall.tbl | 3 + arch/x86/entry/syscalls/syscall_32.tbl | 2 + arch/x86/entry/syscalls/syscall_64.tbl | 3 +- arch/xtensa/kernel/syscalls/syscall.tbl | 2 + include/linux/compat.h | 12 +- include/linux/syscalls.h | 9 + include/uapi/asm-generic/unistd.h | 9 +- include/uapi/linux/mqueue.h | 27 +- ipc/mqueue.c | 568 +++++++++++++++++- ipc/msg.c | 2 +- ipc/msgutil.c | 45 +- ipc/util.h | 3 +- kernel/sys_ni.c | 6 + scripts/syscall.tbl | 2 + tools/include/uapi/asm-generic/unistd.h | 8 +- .../arch/alpha/entry/syscalls/syscall.tbl | 4 + .../perf/arch/arm/entry/syscalls/syscall.tbl | 3 + .../arch/arm64/entry/syscalls/syscall_32.tbl | 3 + .../arch/mips/entry/syscalls/syscall_n64.tbl | 2 + .../arch/parisc/entry/syscalls/syscall.tbl | 3 + .../arch/powerpc/entry/syscalls/syscall.tbl | 3 + .../perf/arch/s390/entry/syscalls/syscall.tbl | 2 + tools/perf/arch/sh/entry/syscalls/syscall.tbl | 2 + .../arch/sparc/entry/syscalls/syscall.tbl | 2 + .../arch/x86/entry/syscalls/syscall_32.tbl | 2 + .../arch/x86/entry/syscalls/syscall_64.tbl | 2 + .../arch/xtensa/entry/syscalls/syscall.tbl | 2 + tools/scripts/syscall.tbl | 2 + tools/testing/selftests/ipc/Makefile | 2 +- tools/testing/selftests/ipc/mq_recvmmsg.c | 392 ++++++++++++ tools/testing/selftests/ipc/mq_sendmmsg.c | 360 +++++++++++ 46 files changed, 1823 insertions(+), 66 deletions(-) create mode 100644 Documentation/userspace-api/mq_recvmmsg.rst create mode 100644 Documentation/userspace-api/mq_sendmmsg.rst create mode 100644 tools/testing/selftests/ipc/mq_recvmmsg.c create mode 100644 tools/testing/selftests/ipc/mq_sendmmsg.c -- 2.43.0