On 10:30:02, 7.04.16, Martin Natano wrote:
> > * mention INDIR and NOLOCK in 'Fields'.
>
> How about something like "one of the types listed below, or one of the
> compatibility options defined in syscalls.conf" instead?
That's a better idea, included below but s/listed/described/.
> > * sort the list of types in 'Fields'.
> > * sort the list of types in 'types'.
>
> I think the order was more logical before (most used type first).
I wanted to verify this statement:
perl -ne 's/^(\d+\s+)// && s/\s+[{a-z4].*$// && print' kern/syscalls.master |
perl -pse 's/\s+/\n/g' | sort | uniq -c | sort -nr
211 STD
59 OBSOL
31 UNIMPL
19 NOLOCK
2 INDIR
It seems NODEF and NOARGS are never used, is this right?
> > * place a dot ('.') at the end of each sentence.
>
> Bike-shedding: Those are not full sentences, but only fragments. There
> doesn't have to be a dot at the end.
I think it's better to have consistency, dot or not. Attached is a
version without the unfortunate dots.
On 14:57:02, 6.04.16, Mike Belopuhov wrote:
> "NOLOCK the syscall doesn't grab any locks whatsoever"
> is a poor description IMO. It should say it doesn't grab the
> KERNEL_LOCK or biglock or something like that. "Any
> locks whatsoever" is incorrect as there might be mutexes,
> rwlocks, etc.
How about this:
NOLOCK don't acquire the kernel lock when calling this syscall.
Index: sys/kern/syscalls.master
===================================================================
RCS file: /cvs/src/sys/kern/syscalls.master,v
retrieving revision 1.169
diff -u -p -r1.169 syscalls.master
--- sys/kern/syscalls.master 30 Mar 2016 07:49:11 -0000 1.169
+++ sys/kern/syscalls.master 2 May 2016 10:31:12 -0000
@@ -8,17 +8,18 @@
;
; Fields: number type [type-dependent ...]
; number system call number, must be in order
-; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
-; the compatibility options defined in syscalls.conf.
+; type one of the types described below, or one of the compatibility
+; options defined in syscalls.conf
;
; types:
-; STD always included
+; INDIR included, but don't define the syscall args structure,
+; and allow it to be "really" varargs
+; NOARGS included, but don't define the syscall args structure
+; NODEF included, but don't define the syscall number
+; NOLOCK don't acquire the kernel lock when calling this syscall
; OBSOL obsolete, not included in system
+; STD always included
; UNIMPL unimplemented, not included in system
-; NODEF included, but don't define the syscall number
-; NOARGS included, but don't define the syscall args structure
-; INDIR included, but don't define the syscall args structure,
-; and allow it to be "really" varargs.
;
; The compat options are defined in the syscalls.conf file, and the
; compat option name is prefixed to the syscall name. Other than
--
Michal Mazurek