From: Albert Cahalan <albert@users.sf.net>
To: linux-kernel mailing list <linux-kernel@vger.kernel.org>
Cc: corliss@digitalmages.com, riel@redhat.com,
tim@physik3.uni-rostock.de, jerj@coplanar.net
Subject: Re: [PATCH] 2.6.x BSD Process Accounting w/High UID
Date: 09 Mar 2004 20:59:11 -0500 [thread overview]
Message-ID: <1078883951.2232.501.camel@cube> (raw)
> We might, however, put the magic into the implicit padding
> of ac_flag (ugly, since this would require an arch dependant
> definition of stuct acct), or put it into the uppermost
> three bits of ac_flag itself
First of all, none of this matters much if the format
is given a sysctl. The old format is default for now,
and the new one is default (only?) in a couple years.
Sun appears to have done something like this.
When fixing it, note that a 5-bit binary exponent
with denormals would beat the current float format.
Regarding the existing struct though...
Let's take a close look at this. I think there are 2 bytes
of padding on all Linux ports, and another 2 available
on everything except maybe m68k and/or arm. (that is, ports
that will put a u32 on any u16 boundry) Here is the current
struct, compactly formatted with 64-bit blocking:
struct linux_acct {
char ac_flag; // Flags
// 1 pad byte
__u16 ac_uid; // Real User ID
__u16 ac_gid; // Real Group ID
__u16 ac_tty; // Control Terminal
__u32 ac_btime; // Process Creation Time
comp_t ac_utime; // User Time
comp_t ac_stime; // System Time
comp_t ac_etime; // Elapsed Time
comp_t ac_mem; // Average Memory Usage
comp_t ac_io; // Chars Transferred
comp_t ac_rw; // Blocks Read or Written
comp_t ac_minflt; // Minor Pagefaults
comp_t ac_majflt; // Major Pagefaults
comp_t ac_swaps; // Number of Swaps
// 2 pad bytes (except m68k or arm maybe?)
__u32 ac_exitcode; // Exitcode
// hppa might pad this
char ac_comm[17]; // Command Name
// hppa might pad this
char ac_pad[10]; // Padding Bytes
// 1 pad byte (maybe 6 for hppa)
};
Just a sec... ARRRGH WHY DO PEOPLE LEAVE PADDING AND
GENERALLY MIS-ALIGN THINGS ALL THE TIME??????
So there you go. You have a pad byte after ac_flag
at a known location, and a pad byte after ac_pad that
might move a bit due to mis-alignments above it.
next reply other threads:[~2004-03-10 1:54 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-03-10 1:59 Albert Cahalan [this message]
2004-03-10 9:08 ` [PATCH] 2.6.x BSD Process Accounting w/High UID Tim Schmielau
2004-03-10 16:41 ` Albert Cahalan
2004-03-10 17:28 ` Tim Schmielau
2004-03-10 17:47 ` Tim Schmielau
2004-03-10 22:09 ` Albert Cahalan
2004-03-11 0:55 ` Tim Schmielau
-- strict thread matches above, loose matches on Subject: below --
2004-03-04 18:04 Arthur Corliss
2004-03-04 19:51 ` Rik van Riel
2004-03-04 20:39 ` Arthur Corliss
2004-03-04 21:54 ` Tim Schmielau
2004-03-04 22:33 ` Arthur Corliss
2004-03-09 16:16 ` Jeremy Jackson
2004-03-09 18:22 ` Tim Schmielau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1078883951.2232.501.camel@cube \
--to=albert@users.sf.net \
--cc=corliss@digitalmages.com \
--cc=jerj@coplanar.net \
--cc=linux-kernel@vger.kernel.org \
--cc=riel@redhat.com \
--cc=tim@physik3.uni-rostock.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.