Re: [PATCH v3 0/5] Add new system call for non-destructive peek and inspection to posix ipc mqueue
Andrei Vagin <[email protected]> Mon, 13 Apr 2026 09:36:44 -0700
| Newsgroups | dev.linux.lists.criu |
|---|---|
| Message-ID | <CANaxB-yLxYS43+uJ8Ag7+O9mieqoq6UHd+sXaSOTSDbJ3efCTA@mail.gmail.com> |
On Wed, Apr 8, 2026 at 2:53=E2=80=AFAM Mathura_Kumar <academic1mathura@gmai=
l.com> wrote:
>
>
> Patch series overview:
>
> 1. Add New system call do_mq_timedreceive2() and handler implementation
> 2. Add system call number in all most common arch.
> 3. Prepared Documentation and test
> 4. Add entry in performance tools all most common file
> 5. Add bitmask flag and user struct size as input for extensibility
Could you please explain why MSG_COPY can't be used to implement C/R?
It was introduced by 4a674f34ba04a ("ipc: introduce message queue copy feat=
ure")
>
> change since v2:
> - bitmask flag is added and check for valid operation
> - userspace struct argument size is added for extensibility
> - new test is added
> - documentation is updated approximately
> - increased the total system call count in performance tool as well
> - v2 Link: https://lore.kernel.org/linux-arch/20260320052340.6696-1-acad=
[email protected]/T/#t
>
>
> Thanks for reviewing.
>
>
> Documentation/userspace-api/index.rst | 1 +
> Documentation/userspace-api/ipc.rst | 228 +++++
> arch/alpha/kernel/syscalls/syscall.tbl | 1 +
> arch/arm/tools/syscall.tbl | 1 +
> arch/arm64/tools/syscall_32.tbl | 1 +
> arch/m68k/kernel/syscalls/syscall.tbl | 1 +
> arch/microblaze/kernel/syscalls/syscall.tbl | 1 +
> arch/mips/kernel/syscalls/syscall_n32.tbl | 1 +
> arch/mips/kernel/syscalls/syscall_n64.tbl | 1 +
> arch/mips/kernel/syscalls/syscall_o32.tbl | 1 +
> arch/parisc/kernel/syscalls/syscall.tbl | 1 +
> arch/powerpc/kernel/syscalls/syscall.tbl | 1 +
> arch/s390/kernel/syscalls/syscall.tbl | 1 +
> arch/sh/kernel/syscalls/syscall.tbl | 1 +
> arch/sparc/kernel/syscalls/syscall.tbl | 1 +
> arch/x86/entry/syscalls/syscall_32.tbl | 1 +
> arch/x86/entry/syscalls/syscall_64.tbl | 1 +
> arch/xtensa/kernel/syscalls/syscall.tbl | 1 +
> include/linux/compat.h | 6 +-
> include/linux/syscalls.h | 6 +
> include/uapi/asm-generic/unistd.h | 7 +-
> include/uapi/linux/mqueue.h | 14 +-
> ipc/mqueue.c | 211 ++++-
> ipc/msg.c | 2 +-
> ipc/msgutil.c | 48 +-
> ipc/util.h | 3 +-
> kernel/sys_ni.c | 3 +
> scripts/syscall.tbl | 1 +
> tools/include/uapi/asm-generic/unistd.h | 6 +-
> .../arch/alpha/entry/syscalls/syscall.tbl | 1 +
> .../perf/arch/arm/entry/syscalls/syscall.tbl | 1 +
> .../arch/arm64/entry/syscalls/syscall_32.tbl | 1 +
> .../arch/mips/entry/syscalls/syscall_n64.tbl | 1 +
> .../arch/parisc/entry/syscalls/syscall.tbl | 1 +
> .../arch/powerpc/entry/syscalls/syscall.tbl | 1 +
> .../perf/arch/s390/entry/syscalls/syscall.tbl | 1 +
> tools/perf/arch/sh/entry/syscalls/syscall.tbl | 1 +
> .../arch/sparc/entry/syscalls/syscall.tbl | 1 +
> .../arch/x86/entry/syscalls/syscall_32.tbl | 1 +
> .../arch/x86/entry/syscalls/syscall_64.tbl | 1 +
> .../arch/xtensa/entry/syscalls/syscall.tbl | 1 +
> tools/scripts/syscall.tbl | 1 +
> tools/testing/selftests/ipc/.gitignore | 1 +
> tools/testing/selftests/ipc/Makefile | 9 +-
> tools/testing/selftests/ipc/mq_peek.c | 813 ++++++++++++++++++
> 45 files changed, 1343 insertions(+), 45 deletions(-)
> create mode 100644 Documentation/userspace-api/ipc.rst
> create mode 100644 tools/testing/selftests/ipc/mq_peek.c
>
> --
> 2.43.0
>