Date: Mon, 5 Jun 2006 11:19:46 -0400 (EDT) From: Daniel Eischen <deischen@freebsd.org> To: MingyanGuo <guomingyan@gmail.com> Cc: delphij@gmail.com, freebsd-arch@freebsd.org Subject: Re: Why use `thread' as an argument of Syscalls? Message-ID: <Pine.GSO.4.64.0606051118180.14745@sea.ntplx.net> In-Reply-To: <1fa17f810606050608l5bd2ec5ch37663375f6fa5b64@mail.gmail.com> References: <1fa17f810606050044k2847e4a2i150eb934ed84006f@mail.gmail.com> <Pine.GSO.4.64.0606050744190.13542@sea.ntplx.net> <1fa17f810606050608l5bd2ec5ch37663375f6fa5b64@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 5 Jun 2006, MingyanGuo wrote: > On 6/5/06, Daniel Eischen <deischen@freebsd.org> wrote: >> >> On Mon, 5 Jun 2006, MingyanGuo wrote: >> >> > Hi all, >> > I find that FreeBSD Syscalls always have an `thread' >> > argument, for example, preadv(/sys/kern/sys_generic.c) >> > has a `td' argument. But some Syscalls may rarely use >> > this argument, and thay ( and functions they invoke) can >> > get the `thread' who make the Syscall _easily_ via >> > `curthread' macro if needed. So the `thread' argument >> > seems not needed. >> > Can anybody tell me why use `thread' as an argument >> > of Syscalls? >> >> You could have asked "why use 'proc' as an argument of Syscalls" >> 12 years ago (or more). When the kernel became thread-aware >> (almost 5 years ago), most 'struct proc' arguments were changed >> to 'struct thread'. >> >> -- >> DE >> > > They are the same questions, I think ;-). Now would > you please explain "why use `proc' as an argument > of Syscalls" to me :)? I've read some source code > of the kernel, but no comments about it found. I don't know. Convention? It makes sense to me. -- DE
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.64.0606051118180.14745>