All of lore.kernel.org
 help / color / mirror / Atom feed
From: ebiederm@xmission.com (Eric W. Biederman)
To: Andrew Morton <akpm@zip.com.au>
Cc: Anton Altaparmakov <aia21@cantab.net>,
	Linus Torvalds <torvalds@transmeta.com>,
	Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: [BK PATCH 2.5] Introduce 64-bit versions of  PAGE_{CACHE_,}{MASK,ALIGN}
Date: 28 Jul 2002 11:53:55 -0600	[thread overview]
Message-ID: <m11y9nivrg.fsf@frodo.biederman.org> (raw)
In-Reply-To: <3D42D706.9899A4A0@zip.com.au>

Andrew Morton <akpm@zip.com.au> writes:

> Anton Altaparmakov wrote:
> > 
> > Linus,
> > 
> > This patch introduces 64-bit versions of PAGE_{CACHE_,}MASK and
> > PAGE_{CACHE_,}ALIGN:
> >         PAGE_{CACHE_,}MASK_LL and PAGE_{CACHE_,}ALIGN_LL.
> > 
> > These are needed when 64-bit values are worked with on 32-bit
> > architectures, otherwise the high 32-bits are destroyed.
> > 
> > ...
> >  #define PAGE_SIZE      (1UL << PAGE_SHIFT)
> >  #define PAGE_MASK      (~(PAGE_SIZE-1))
> > +#define PAGE_MASK_LL   (~(u64)(PAGE_SIZE-1))
> 
> The problem here is that we've explicitly forced the
> PAGE_foo type to unsigned long.
> 
> If we instead take the "UL" out of PAGE_SIZE altogether,
> the compiler can then promote the type of PAGE_SIZE and PAGE_MASK
> to the widest type being used in the expression (ie: long long)
> and everything should work.
> 
> Which seems to be a much cleaner solution, if it works.
> 
> Will it work?

I don't quite see the point of this work.

There is exactly one operation that must be done in 64bit.
if (my64bitval > max) {
        return -E2BIG;
}
After that the value can be broken into, an index/offset pair.
Which is how the data is used in the page cache.


Eric

  reply	other threads:[~2002-07-28 18:02 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-27 13:41 [BK PATCH 2.5] Introduce 64-bit versions of PAGE_{CACHE_,}{MASK,ALIGN} Anton Altaparmakov
2002-07-27 17:23 ` Andrew Morton
2002-07-28 17:53   ` Eric W. Biederman [this message]
2002-07-28 18:54     ` Anton Altaparmakov
2002-07-28 20:12       ` Eric W. Biederman
2002-07-28 23:26       ` Linus Torvalds
2002-07-29  0:10         ` Andrew Morton
2002-07-29  0:43           ` William Lee Irwin III
2002-07-29  0:56             ` Andrea Arcangeli
2002-07-29  1:04               ` William Lee Irwin III
2002-07-29  1:09               ` Rik van Riel
2002-07-29  2:14                 ` Andrew Morton
2002-07-29  2:11                   ` William Lee Irwin III
2002-07-29  2:18                   ` Rik van Riel
2002-07-29  0:49           ` Andrea Arcangeli
2002-07-29  2:05             ` Andrew Morton
2002-07-29  2:09               ` William Lee Irwin III
2002-07-29 20:52               ` Andrea Arcangeli
2002-07-29 21:01                 ` Andrew Morton
2002-07-29 21:31                   ` Andrea Arcangeli
2002-07-29 21:46                     ` Andrew Morton
2002-07-29 22:18                       ` Andrea Arcangeli
2002-07-29  0:56           ` William Lee Irwin III
2002-07-29  1:36             ` Andrew Morton
2002-07-29  1:37               ` William Lee Irwin III
2002-07-29  9:27           ` Russell King
2002-07-29 18:32             ` Andrew Morton
     [not found] <5.1.0.14.2.20020728193528.04336a80@pop.cus.cam.ac.uk.suse.lists.linux.kernel>
     [not found] ` <Pine.LNX.4.44.0207281622350.8208-100000@home.transmeta.com.suse.lists.linux.kernel>
     [not found]   ` <3D448808.CF8D18BA@zip.com.au.suse.lists.linux.kernel>
     [not found]     ` <20020729004942.GL1201@dualathlon.random.suse.lists.linux.kernel>
     [not found]       ` <3D44A2DF.F751B564@zip.com.au.suse.lists.linux.kernel>
     [not found]         ` <20020729205211.GB1201@dualathlon.random.suse.lists.linux.kernel>
2002-07-30 13:44           ` Andi Kleen
2002-07-30 14:06             ` Rik van Riel

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=m11y9nivrg.fsf@frodo.biederman.org \
    --to=ebiederm@xmission.com \
    --cc=aia21@cantab.net \
    --cc=akpm@zip.com.au \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@transmeta.com \
    /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.