All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Dave Hansen <dave@linux.vnet.ibm.com>
Cc: Brian King <brking@linux.vnet.ibm.com>,
	Seth Jennings <sjenning@linux.vnet.ibm.com>,
	Robert Jennings <rcj@linux.vnet.ibm.com>,
	linuxppc-dev@lists.ozlabs.org
Subject: Re: tlb flushing on Power
Date: Fri, 27 Jan 2012 13:40:40 +1100	[thread overview]
Message-ID: <1327632040.24487.11.camel@pasglop> (raw)
In-Reply-To: <4F21D3F4.7020904@linux.vnet.ibm.com>

On Thu, 2012-01-26 at 14:30 -0800, Dave Hansen wrote:
> On 01/26/2012 01:39 PM, Benjamin Herrenschmidt wrote:
> > Can you explain to me a bit more the whole business in this patch set
> > about doing kmap_atomic() vs. manually trying to populate the PTEs ? 
> 
> They're compressing pages and the allocator is trying getting very poor
> packing of compressed pages in to PAGE_SIZE chunks.  So, they're moving
> to 2-page allocations that they need to be mapped contiguously to make
> it easier on the users of the allocator.
> 
> > Why not just use two kmap atomic entries ? If interrupts are disabled
> > kmap_atomic() should give you contiguous ones I suppose
> 
> I think you and I are at least on the same page on this one:
> 
> https://lkml.org/lkml/2012/1/26/355

Right. We probably want to document this somewhere if we start relying
on that behaviour or at the very least add a WARN_ON() and fail from the
compressed allocator if we end up with non-contiguous pages.

> > (unless NMIs are allowed to use kmap_atomic, are they ?)
> 
> Surely they can't be.  Even if they could use it, they'd have to return
> the __kmap_atomic_idx back to the place where it started before they
> returned, so the interrupted code wouldn't notice.

Ah indeed, that's for talking before I had breakfast :-)

Cheers,
Ben.

  reply	other threads:[~2012-01-27  2:40 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <4F2160B3.60708@linux.vnet.ibm.com>
2012-01-26 14:41 ` tlb flushing on Power Brian King
2012-01-26 21:39   ` Benjamin Herrenschmidt
2012-01-26 22:30     ` Dave Hansen
2012-01-27  2:40       ` Benjamin Herrenschmidt [this message]
2012-02-08 17:39     ` Seth Jennings
2012-02-08 21:04       ` Benjamin Herrenschmidt
2012-02-10 19:14         ` Seth Jennings
2012-02-16 17:11           ` Seth Jennings
2012-02-16 20:31             ` Benjamin Herrenschmidt
2012-03-05 17:56               ` Seth Jennings
2012-03-07  5:28                 ` Michael Neuling
2012-03-07 21:18                   ` Seth Jennings

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=1327632040.24487.11.camel@pasglop \
    --to=benh@kernel.crashing.org \
    --cc=brking@linux.vnet.ibm.com \
    --cc=dave@linux.vnet.ibm.com \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=rcj@linux.vnet.ibm.com \
    --cc=sjenning@linux.vnet.ibm.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.