public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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--

  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