Date: Tue, 16 Dec 2003 13:01:13 +0800
From: David Xu <davidxu@freebsd.org>
To: "\"Daniel Eischen\" On Wed" <eischen@vigrid.com>, 10@FreeBSD.org, Dec@FreeBSD.org, 2003@FreeBSD.org, David@FreeBSD.org, Xu@FreeBSD.org, wrote: , ">"@FreeBSD.org, Hi@FreeBSD.org, Dan@FreeBSD.org, ">"@FreeBSD.org, ">"@FreeBSD.org, It@FreeBSD.org, seems@FreeBSD.org, marcel@FreeBSD.org, encountered@FreeBSD.org, another@FreeBSD.org, problem@FreeBSD.org, I@FreeBSD.org, ran@FreeBSD.org, hello_d@FreeBSD.org, on@FreeBSD.org, pluto1@FreeBSD.org, ">"@FreeBSD.org, and@FreeBSD.org, I@FreeBSD.org, successfully@FreeBSD.org, killed@FreeBSD.org, "kernel."@FreeBSD.org, it@FreeBSD.org, seems@FreeBSD.org, km_curthread@FreeBSD.org, is@FreeBSD.org, misaligned@FreeBSD.org, <"why ? > He said km_curthread should be aligned at 8 bytes boundary"@FreeBSD.org>, but@FreeBSD.org, it@FreeBSD.org, ">"@FreeBSD.org, seems@FreeBSD.org, we@FreeBSD.org, do@FreeBSD.org, not@FreeBSD.org, respect@FreeBSD.org, this@FreeBSD.org, "ruler."@FreeBSD.org, Hmm@FreeBSD.org, well@FreeBSD.org, we@FreeBSD.org, were@FreeBSD.org, talking@FreeBSD.org, about@FreeBSD.org, rearranging@FreeBSD.org, the@FreeBSD.org, kse_mailbox@FreeBSD.org, remember?@FreeBSD.org, We@FreeBSD.org, can@FreeBSD.org, make@FreeBSD.org, km_version@FreeBSD.org, a@FreeBSD.org, long@FreeBSD.org, instead@FreeBSD.org, of@FreeBSD.org, an@FreeBSD.org, int@FreeBSD.org, and@FreeBSD.org, that@FreeBSD.org, would@FreeBSD.org, align@FreeBSD.org, "km_curthread."@FreeBSD.org, It@FreeBSD.org, would@FreeBSD.org, only@FreeBSD.org, break@FreeBSD.org, binary@FreeBSD.org, compat@FreeBSD.org, on@FreeBSD.org, 64-bit@FreeBSD.org, platforms@FreeBSD.org, "also."@FreeBSD.org, I@FreeBSD.org, think@FreeBSD.org, other@FreeBSD.org, things@FreeBSD.org, in@FreeBSD.org, kse_mailbox@FreeBSD.org, may@FreeBSD.org, need@FreeBSD.org, to@FreeBSD.org, be@FreeBSD.org, fixed@FreeBSD.org, "also."@FreeBSD.org, km_func@FreeBSD.org, is@FreeBSD.org, not@FreeBSD.org, aligned@FreeBSD.org, either@FreeBSD.org, since@FreeBSD.org, km_flags@FreeBSD.org, is@FreeBSD.org, only@FreeBSD.org, 32@FreeBSD.org, "bits."@FreeBSD.org, I@FreeBSD.org, think@FreeBSD.org, the@FreeBSD.org, mailbox@FreeBSD.org, should@FreeBSD.org, be@FreeBSD.org, something@FreeBSD.org, like@FreeBSD.org, this: , struct@FreeBSD.org, kse_mailbox@FreeBSD.org, {@FreeBSD.org, uint32_t@FreeBSD.org, km_version@FreeBSD.org;, uint32_t@FreeBSD.org, km_flags@FreeBSD.org;, uint32_t@FreeBSD.org, km_quantum@FreeBSD.org;, uint32_t@FreeBSD.org, "__spare1__[1];"@FreeBSD.org, /*@FreeBSD.org, align@FreeBSD.org, km_sigscaught@FreeBSD.org, to@FreeBSD.org, 16@FreeBSD.org, bytes@FreeBSD.org, */@FreeBSD.org, struct@FreeBSD.org, kse_thr_mailbox@FreeBSD.org, *km_curthread@FreeBSD.org;, struct@FreeBSD.org, kse_thr_mailbox@FreeBSD.org, *km_completed@FreeBSD.org;, void@FreeBSD.org, *km_udata@FreeBSD.org;, kse_func_t@FreeBSD.org, *km_func@FreeBSD.org;, sigset_t@FreeBSD.org, km_sigscaught@FreeBSD.org;, stack_t@FreeBSD.org, km_stack@FreeBSD.org;, struct@FreeBSD.org, timespec@FreeBSD.org, km_timeofday@FreeBSD.org;, uint32_t@FreeBSD.org, "__spare2__[8];"@FreeBSD.org, }@FreeBSD.org;, Probably@FreeBSD.org, something@FreeBSD.org, similar@FreeBSD.org, for@FreeBSD.org, "kse_thr_mailbox."@FreeBSD.org, --@FreeBSD.org, Dan@FreeBSD.org, Eischen@viatech.com.cn
Cc: marcel@freebsd.org
Subject: Re: [Fwd: Re: hello_d on pluto1]
Message-ID: <3FDE9199.1020000@freebsd.org>
index | next in thread | raw e-mail
>Hmm, well we were talking about rearranging the kse_mailbox,
>remember? We can make km_version a long instead of an int
>and that would align km_curthread. It would only break
>binary compat on 64-bit platforms also.
>
>I think other things in kse_mailbox may need to be fixed
>also. km_func is not aligned either since km_flags is
>only 32 bits. I think the mailbox should be something
>like this:
>
>struct kse_mailbox {
> uint32_t km_version;
> uint32_t km_flags;
> uint32_t km_quantum;
> uint32_t __spare1__[1]; /* align km_sigscaught to 16 bytes */
> struct kse_thr_mailbox *km_curthread;
> struct kse_thr_mailbox *km_completed;
> void *km_udata;
> kse_func_t *km_func;
> sigset_t km_sigscaught;
> stack_t km_stack;
> struct timespec km_timeofday;
> uint32_t __spare2__[8];
>};
>
> Probably something similar for kse_thr_mailbox.
>
Do you have its layout already ? I might change them after 5.2 release.
Marcel, do you think Dan's kse_mailbox layout is ok for you ?
>--
>Dan Eischen
David Xu
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3FDE9199.1020000>
