Daemon News Ezine BSD News BSD Mall BSD Support Forum BSD Advocacy BSD Updates

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Fwd: Re: hello_d on pluto1]

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