On Wed, Oct 14, 2015 at 08:38:15PM +1100, Michael Ellerman wrote: > On Wed, 2015-10-14 at 18:00 +1100, Sam Bobroff wrote: > > On Tue, Oct 13, 2015 at 08:38:42PM +1100, Michael Ellerman wrote: > > > On Tue, 2015-13-10 at 01:49:28 UTC, Sam bobroff wrote: > > > > This patch provides individual system call numbers for the following > > > > System V IPC system calls, on PowerPC, so that they do not need to be > > > > multiplexed: > > > > * semop, semget, semctl, semtimedop > > > > * msgsnd, msgrcv, msgget, msgctl > > > > * shmat, shmdt, shmget, shmctl > > > > > > You tested this right? :) Tell me about it. > > > > Why yes I did: > > ... > > > (I also re-ran the tests both for little-endian and big-endian hosts.) > > Did you test on 32-bit at all?
I ran the test program, compiled for 32 and 64 bit, on a biarch power7 machine (using -m32 and -m64 to the compiler) but only to verify that the fully patched system succeeded. Is that sufficient? > > It would obviously be good to have someone else test this, but I can't see a > > way to make it easy to do. They would presumably have to go through all of > > the > > above, which seems too much to ask given how trivial the kernel side of the > > patch is. Still, it bothers me a bit so if there is any way please let me > > know. > > (I thought about writing some assembly to directly test the syscall numbers > > but > > all it would do is verify that the numbers are valid, which really isn't > > much > > of a test.) > > Actually that is still a useful test, it at least tells you if the kernel > you're running on implements the syscalls. Obviously if you're on mainline > that's easy enough to work out from the git history, but if/when these get > backported to distro kernels, it's often harder to work out what's in the > source than just testing it directly. Oh, fair enough then. > So I wrote a quick dirty test for that, it seems to work for me: [snip] Thanks :-) > Which gives: > > test: ipc_unmuxed > tags: git_version:v4.3-rc3-44-g10053fa531a8-dirty > Testing semop returned -1, errno 22 > Testing semget returned -1, errno 2 > Testing semctl returned -1, errno 22 > Testing semtimedop returned -1, errno 22 > Testing msgsnd returned -1, errno 14 > Testing msgrcv returned -1, errno 22 > Testing msgget returned -1, errno 2 > Testing msgctl returned -1, errno 22 > Testing shmat returned -1, errno 22 > Testing shmdt returned -1, errno 22 > Testing shmget returned -1, errno 2 > Testing shmctl returned -1, errno 22 > success: ipc_unmuxed > > > And on an unpatched system: > > test: ipc_unmuxed > tags: git_version:v4.3-rc3-44-g10053fa531a8-dirty > Testing semop returned -1, errno 38 > [FAIL] Test FAILED on line 2 > failure: ipc_unmuxed > > > Look OK? Yep! And 38 (ENOSYS) is the code we'd expect in the failure case. > cheers Cheers, Sam. _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev