linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Nicholas Piggin <npiggin@gmail.com>
To: Matthew Wilcox <willy@infradead.org>
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>,
	"Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>,
	Florian Weimer <fweimer@redhat.com>,
	"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
	linuxppc-dev@lists.ozlabs.org, linux-mm <linux-mm@kvack.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Andy Lutomirski <luto@amacapital.net>,
	Dave Hansen <dave.hansen@intel.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-arch@vger.kernel.org, Ingo Molnar <mingo@kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: POWER: Unexpected fault when writing to brk-allocated memory
Date: Fri, 10 Nov 2017 12:26:25 +1100	[thread overview]
Message-ID: <20171110122625.4ea3c897@roar.ozlabs.ibm.com> (raw)
In-Reply-To: <20171109194421.GA12789@bombadil.infradead.org>

On Thu, 9 Nov 2017 11:44:21 -0800
Matthew Wilcox <willy@infradead.org> wrote:

> On Fri, Nov 10, 2017 at 04:15:26AM +1100, Nicholas Piggin wrote:
> > So these semantics are what we're going with? Anything that does mmap() is
> > guaranteed of getting a 47-bit pointer and it can use the top 17 bits for
> > itself? Is intended to be cross-platform or just x86 and power specific?  
> 
> It is x86 and powerpc specific.  The arm64 people have apparently stumbled
> across apps that expect to be able to use bit 48 for their own purposes.
> And their address space is 48 bit by default.  Oops.

Okay, so it's something we should make into an "official" API?

> 
> > Also, this may follow from deduction from 1-3, but for explicit
> > specification in man page:
> > 
> > 4) To get an unspecified allocation with the largest possible address range,
> > we pass in -1 for mmap hint.
> > 
> > Are we allowing 8 bits bits of unused address in this case, or must the
> > app not assume anything about number of bits used?  
> 
> Maybe document it as: "If the app wants to use the top N bits of addresses
> for its own purposes, pass in (~0UL >> N) as the mmap hint."  ?

Well we don't have code for that yet, but the problem would also be that
it succeeds, and actually it probably goes over the limit. So you would
have to map a dummy page there so subsequent hints to fail and fall back.
Not sure... it would be nice to be able to specify number of bits, but I
think this gets a bit hairy. -1 to use all bits seems a bit easier.

Thanks,
Nick

  reply	other threads:[~2017-11-10  1:26 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <f251fc3e-c657-ebe8-acc8-f55ab4caa667@redhat.com>
     [not found] ` <20171105231850.5e313e46@roar.ozlabs.ibm.com>
     [not found]   ` <871slcszfl.fsf@linux.vnet.ibm.com>
     [not found]     ` <20171106174707.19f6c495@roar.ozlabs.ibm.com>
     [not found]       ` <24b93038-76f7-33df-d02e-facb0ce61cd2@redhat.com>
     [not found]         ` <20171106192524.12ea3187@roar.ozlabs.ibm.com>
     [not found]           ` <d52581f4-8ca4-5421-0862-3098031e29a8@linux.vnet.ibm.com>
     [not found]             ` <546d4155-5b7c-6dba-b642-29c103e336bc@redhat.com>
2017-11-07  5:07               ` POWER: Unexpected fault when writing to brk-allocated memory Nicholas Piggin
2017-11-07  8:15                 ` Florian Weimer
2017-11-07  9:24                   ` Nicholas Piggin
2017-11-07 11:16                   ` Kirill A. Shutemov
2017-11-07 11:15                 ` Kirill A. Shutemov
2017-11-07 11:26                   ` Florian Weimer
2017-11-07 11:44                     ` Kirill A. Shutemov
2017-11-07 13:05                       ` Florian Weimer
2017-11-07 13:16                         ` Kirill A. Shutemov
2017-11-08  6:08                           ` Michael Ellerman
2017-11-08  6:18                             ` Florian Weimer
2017-11-07 11:56                   ` Nicholas Piggin
2017-11-07 12:28                     ` Kirill A. Shutemov
2017-11-07 13:33                       ` Nicholas Piggin
2017-11-07 13:45                         ` Aneesh Kumar K.V
2017-11-07 14:01                           ` Kirill A. Shutemov
2017-11-09 17:15                             ` Nicholas Piggin
2017-11-09 19:44                               ` Matthew Wilcox
2017-11-10  1:26                                 ` Nicholas Piggin [this message]
     [not found]                                 ` <063D6719AE5E284EB5DD2968C1650D6DD00B84EF@AcuExch.aculab.com>
2017-11-11 10:30                                   ` Nicholas Piggin
2017-11-08  4:56                           ` Michael Ellerman
2017-11-08  8:30                             ` Kirill A. Shutemov

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=20171110122625.4ea3c897@roar.ozlabs.ibm.com \
    --to=npiggin@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=aneesh.kumar@linux.vnet.ibm.com \
    --cc=dave.hansen@intel.com \
    --cc=fweimer@redhat.com \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=kirill@shutemov.name \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=luto@amacapital.net \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=willy@infradead.org \
    /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;
as well as URLs for NNTP newsgroup(s).