From: Erik Andersen <andersen@codepoet.org>
To: Mariusz Mazur <mmazur@kernel.pl>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [ANNOUNCE] linux-libc-headers 2.6.8.1
Date: Mon, 30 Aug 2004 00:28:56 -0600 [thread overview]
Message-ID: <20040830062856.GA10475@codepoet.org> (raw)
In-Reply-To: <200408292232.14446.mmazur@kernel.pl>
On Sun Aug 29, 2004 at 10:32:13PM +0200, Mariusz Mazur wrote:
> Nothing special, really. One bigger change - on archs that have >1 possible
> page sizes (PAGE_SIZE definition in asm/page.h) we're now using a call to
> libc's getpagesize(), so don't count on it being static on archs like ia64.
I really do not like this change. Since PAGE_SIZE has always
been a constant, the change you have made is likely to break a
fair amount of code, basically any code doing stuff like:
static int* foo[PAGE_SIZE];
Your change will result in cryptic errors such as
"error: variable-size type declared outside of any function"
"error: storage size of `foo' isn't constant"
depending on whether the declaration is outside a function or in one.
I think it would be much better to either
a) remove PAGE_SIZE or make using it an error somehow,
b) make PAGE_SIZE an install time config option
c) declare that on architectures such as mips that support
variable PAGE_SIZE values, the libc kernel headers shall
always provide the largest fixed size value of PAGE_SIZE
supported for that architecture and everyone just agrees
that using PAGE_SIZE rather than getpagesize(2) or
sysconf(_SC_PAGESIZE) is generally a bad idea. It should
be the largest value supported on that architecture, since
the the only cost of always using the largest possible
value is wasted ram, whereas the cost of always using the
smallest value is segfaults.
With any of the above 3 suggestions, things will either just
work, or the user will get a descriptive error message.
-Erik
--
Erik B. Andersen http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--
next prev parent reply other threads:[~2004-08-30 6:28 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-29 20:32 [ANNOUNCE] linux-libc-headers 2.6.8.1 Mariusz Mazur
2004-08-30 6:28 ` Erik Andersen [this message]
2004-08-30 7:24 ` David S. Miller
2004-08-30 7:48 ` Erik Andersen
2004-08-30 8:07 ` William Lee Irwin III
2004-08-30 8:43 ` Erik Andersen
2004-08-30 11:17 ` Mariusz Mazur
2004-08-30 9:22 ` Andrew Walrond
-- strict thread matches above, loose matches on Subject: below --
2004-08-30 13:36 Albert Cahalan
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=20040830062856.GA10475@codepoet.org \
--to=andersen@codepoet.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mmazur@kernel.pl \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox