All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Hansen <dave@sr71.net>
To: Darren Hart <dvhart@linux.intel.com>
Cc: zhang.yi20@zte.com.cn, linux-kernel@vger.kernel.org,
	linux-mm@kvack.org, Ingo Molnar <mingo@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Dave Hansen <dave@linux.vnet.ibm.com>
Subject: Re: [PATCH] futex: bugfix for futex-key conflict when futex use hugepage
Date: Wed, 17 Apr 2013 08:26:27 -0700	[thread overview]
Message-ID: <516EBF23.2090600@sr71.net> (raw)
In-Reply-To: <516EAF31.8000107@linux.intel.com>

On 04/17/2013 07:18 AM, Darren Hart wrote:
>>> This also needs a comment in futex.h describing the usage of the offset
>>> field in union futex_key as well as above get_futex_key describing the
>>> key for shared mappings.
>>>
>> As far as I know , the max size of one hugepage is 1 GBytes for x86 cpu.
>> Can some other cpus support greater hugepage even more than 4 GBytes? If 
>> so, we can change the type of 'offset' from int to long to avoid 
>> truncating.
> 
> I discussed this with Dave Hansen, on CC, and he thought we needed 9
> bits, so even on x86 32b we should be covered.

I think the problem is actually on 64-bit since you still only have
32-bits in an 'int' there.

I guess it's remotely possible that we could have some
mega-super-huge-gigantic pages show up in hardware some day, or that
somebody would come up with software-only one.  I bet there's a lot more
code that will break in the kernel than this futex code, though.

The other option would be to start #defining some build-time constant
for what the largest possible huge page size is, then BUILD_BUG_ON() it.

Or you can just make it a long ;)

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: Dave Hansen <dave@sr71.net>
To: Darren Hart <dvhart@linux.intel.com>
Cc: zhang.yi20@zte.com.cn, linux-kernel@vger.kernel.org,
	linux-mm@kvack.org, Ingo Molnar <mingo@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Dave Hansen <dave@linux.vnet.ibm.com>
Subject: Re: [PATCH] futex: bugfix for futex-key conflict when futex use hugepage
Date: Wed, 17 Apr 2013 08:26:27 -0700	[thread overview]
Message-ID: <516EBF23.2090600@sr71.net> (raw)
In-Reply-To: <516EAF31.8000107@linux.intel.com>

On 04/17/2013 07:18 AM, Darren Hart wrote:
>>> This also needs a comment in futex.h describing the usage of the offset
>>> field in union futex_key as well as above get_futex_key describing the
>>> key for shared mappings.
>>>
>> As far as I know , the max size of one hugepage is 1 GBytes for x86 cpu.
>> Can some other cpus support greater hugepage even more than 4 GBytes? If 
>> so, we can change the type of 'offset' from int to long to avoid 
>> truncating.
> 
> I discussed this with Dave Hansen, on CC, and he thought we needed 9
> bits, so even on x86 32b we should be covered.

I think the problem is actually on 64-bit since you still only have
32-bits in an 'int' there.

I guess it's remotely possible that we could have some
mega-super-huge-gigantic pages show up in hardware some day, or that
somebody would come up with software-only one.  I bet there's a lot more
code that will break in the kernel than this futex code, though.

The other option would be to start #defining some build-time constant
for what the largest possible huge page size is, then BUILD_BUG_ON() it.

Or you can just make it a long ;)

  reply	other threads:[~2013-04-17 15:26 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-16  3:37 [PATCH] futex: bugfix for futex-key conflict when futex use hugepage zhang.yi20
2013-04-16  3:37 ` zhang.yi20
2013-04-16 17:57 ` Darren Hart
2013-04-16 17:57   ` Darren Hart
2013-04-17  9:55   ` zhang.yi20
2013-04-17  9:55     ` zhang.yi20
2013-04-17 14:18     ` Darren Hart
2013-04-17 14:18       ` Darren Hart
2013-04-17 15:26       ` Dave Hansen [this message]
2013-04-17 15:26         ` Dave Hansen
2013-04-17 15:51         ` Darren Hart
2013-04-17 15:51           ` Darren Hart
2013-04-18  8:05           ` zhang.yi20
2013-04-18  8:05             ` zhang.yi20
2013-04-18 14:34             ` Darren Hart
2013-04-18 14:34               ` Darren Hart
2013-04-19  2:13               ` zhang.yi20
2013-04-19  2:13                 ` zhang.yi20
2013-04-19  2:42                 ` Darren Hart
2013-04-19  2:42                   ` Darren Hart
2013-04-19  2:45                 ` Darren Hart
2013-04-19  2:45                   ` Darren Hart
2013-04-19  7:03                   ` zhang.yi20
2013-04-19  7:03                     ` zhang.yi20
2013-04-18 10:14   ` 答复: " zhang.yi20
2013-04-16 18:37 ` Dave Hansen
2013-04-16 18:37   ` Dave Hansen
2013-04-16 18:47   ` Darren Hart
2013-04-16 18:47     ` Darren Hart
2013-04-17  7:25   ` 答复: " zhang.yi20
2013-04-17  7:47   ` zhang.yi20
2013-04-17  7:47     ` zhang.yi20
  -- strict thread matches above, loose matches on Subject: below --
2013-05-15 13:57 Zhang Yi
2013-05-15 14:20 ` Mel Gorman
2013-05-16  1:16   ` zhang.yi20
2013-05-16  1:30     ` Darren Hart
2013-05-07 12:43 Zhang Yi
2013-04-26 12:13 Zhang Yi
2013-04-26 18:26 ` Thomas Gleixner
2013-05-07 12:23   ` Zhang Yi
2013-05-07 15:20     ` Mel Gorman
2013-05-07 15:24       ` Thomas Gleixner
2013-05-07 15:54         ` Mel Gorman
2013-05-07 12:34   ` Zhang Yi
2013-04-24 14:27 Zhang Yi
2013-04-24 13:58 Zhang Yi
2013-04-25 20:52 ` Thomas Gleixner
2013-04-08  6:34 jiang.biao2

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=516EBF23.2090600@sr71.net \
    --to=dave@sr71.net \
    --cc=dave@linux.vnet.ibm.com \
    --cc=dvhart@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=zhang.yi20@zte.com.cn \
    /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.