Subject: Re: lwp id in ktrace
To: Emmanuel Dreyfus <manu@netbsd.org>
From: Christos Zoulas <christos@zoulas.com>
List: tech-kern
Date: 12/01/2003 14:09:47
On Dec 1,  6:52pm, manu@netbsd.org (Emmanuel Dreyfus) wrote:
-- Subject: Re: lwp id in ktrace

| Christos Zoulas <christos@zoulas.com> wrote:
| 
| > That is a cute idea. Do we really need the backwards compatibility though,
| > at the expense of making the file a lot larger? 
| 
| The xheader could look like this: 
| 
| struct ktr_xheader {
|         char    xh_version;             /* Extended header version */
|         char    xh_comm[MAXCOMLEN+1];   /* command name */
|         lwpid_t xh_lwpid;               /* lwpid */     
| };
| 
| A lot of ktr_header can share the same ktr_xheader: while you trace the
| same lwp, you point to the same ktr_xheader. That way it won't be that
| big. Except of course if you have hundreds lwps, but if you do that I
| assume you prepared a rather big machine :o)

So when is the ktr_xheader get emitted?

| The xheader causes annoyance for older programs (the displayed name will
| loose 4 chars, 8 chars on 64 bit machines), but don't you think
| limitting lwpid to 64k could cause annoyance to future programs?

Well, there is the 3 bytes after the command name that are padded, which can
be used too... I don't know about 64K lwps; sounds high to me, but so seemed
640K to Bill Gates.

christos