Skip to content

linux: Support POSIX message queues#38

Closed
ricardobranco777 wants to merge 5 commits into
NetBSD:trunkfrom
ricardobranco777:linux_mqueue
Closed

linux: Support POSIX message queues#38
ricardobranco777 wants to merge 5 commits into
NetBSD:trunkfrom
ricardobranco777:linux_mqueue

Conversation

@ricardobranco777

@ricardobranco777 ricardobranco777 commented May 26, 2024

Copy link
Copy Markdown

Support POSIX message queues.

Ref: kern/58287

Notes:

  • Tested only on amd64
  • 2nd commit was generated by make linux_sysent.c in each arch subdirectory in sys/compat/linux/arch

To test (on kernel with no file-system PROCFS & no options MQUEUE):

cd /usr/src
./build.sh -j8 -O /usr/obj -T /usr/tools modules
doas ./build.sh -j8 -O /usr/obj -T /usr/tools installmodules=/

# OR

doas umount -a -t procfs
for m in mqueue compat_linux procfs ; do \
cd /usr/src/sys/modules/
make
doas cp -f $m.kmod /stand/$(uname -m)/$(uname -r)/modules/$m/
doas modunload $m
doas modload $m
done

@ricardobranco777

ricardobranco777 commented May 26, 2024

Copy link
Copy Markdown
Author

Compiled LTP from https://github.com/linux-test-project/ltp in Leap 15.5 and copied /opt/ltp into chroot created by suse_base-15.5nb1 package.

# for d in /opt/ltp/testcases/open_posix_testsuite/conformance/interfaces/mq_* ; do cd $d ; ./run.sh ; cd - ; done
conformance/interfaces/mq_close/mq_close_2-1: execution: FAILED 
*******************
Testing mq_close
*******************
PASS		  5
FAIL		  1
*******************
TOTAL		  6
*******************
/
*******************
Testing mq_getattr
*******************
PASS		  7
FAIL		  0
*******************
TOTAL		  7
*******************
/
*******************
Testing mq_notify
*******************
PASS		  9
FAIL		  0
*******************
TOTAL		  9
*******************
/
conformance/interfaces/mq_open/mq_open_16-1: execution: UNRESOLVED 
*******************
Testing mq_open
*******************
PASS		 23
FAIL		  1
*******************
TOTAL		 24
*******************
/
*******************
Testing mq_receive
*******************
PASS		 12
FAIL		  0
*******************
TOTAL		 12
*******************
/
conformance/interfaces/mq_send/mq_send_4-3: execution: HUNG 
*******************
Testing mq_send
*******************
PASS		 17
FAIL		  1
*******************
TOTAL		 18
*******************
/
*******************
Testing mq_setattr
*******************
PASS		  6
FAIL		  0
*******************
TOTAL		  6
*******************
/
*******************
Testing mq_timedreceive
*******************
PASS		 21
FAIL		  0
*******************
TOTAL		 21
*******************
/
conformance/interfaces/mq_timedsend/mq_timedsend_19-1: execution: FAILED 
conformance/interfaces/mq_timedsend/mq_timedsend_4-3: execution: HUNG 
*******************
Testing mq_timedsend
*******************
PASS		 22
FAIL		  2
*******************
TOTAL		 24
*******************
/
*******************
Testing mq_unlink
*******************
PASS		  6
FAIL		  0
*******************
TOTAL		  6
*******************
/

@ricardobranco777

Copy link
Copy Markdown
Author

Committed in 0124a94

netbsd-srcmastr pushed a commit that referenced this pull request Oct 1, 2025
	sys/arch/riscv/riscv/bus_dma.c: revision 1.11

risc-v: Adjust barriers issued in bus_dmamap_sync for the coherent case.
PR/59653

This change adjusts the memory barriers issued by bus_dmamap_sync for
the coherent case. In the non-coherent case the CPU cache operations
are expected to provide any, and all required barriers.
These barriers are emitted after bouncing for PREWRITE and before
bouncing for POSTREAD.

Net change:
op                      old                     new
---------------------   ----------------------  --------------
PREREAD                 none                    fence rw,ow
PREWRITE                fence iorw,iorw         fence rw,ow
PREREAD|PREWRITE        fence iorw,iorw         fence w,ow
POSTREAD                fence iorw,iorw         fence ir,r
POSTWRITE               none                    none
POSTREAD|POSTWRITE      fence iorw,iorw         fence ir,r
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant