public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: eranian@google.com
Cc: linux-kernel@vger.kernel.org, mingo@elte.hu, paulus@samba.org,
	davem@davemloft.net, fweisbec@gmail.com,
	perfmon2-devel@lists.sf.net, eranian@gmail.com,
	robert.richter@amd.com, markus.t.metzger@intel.com
Subject: Re: [PATCH] perf_events: improve DS/BTS/PEBS buffer allocation
Date: Mon, 13 Sep 2010 17:08:50 +0200	[thread overview]
Message-ID: <1284390530.2275.327.camel@laptop> (raw)
In-Reply-To: <4c8e3c0c.12d1d80a.73d9.ffffcf21@mx.google.com>

On Mon, 2010-09-13 at 16:55 +0200, Stephane Eranian wrote:
> The DS, BTS, and PEBS memory regions were allocated using kzalloc(), i.e.,
> requesting contiguous physical memory. There is no such restriction on
> DS, PEBS and BTS buffers. Using kzalloc() could lead to error in case
> no contiguous physical memory is available. BTS is requesting 64KB,
> thus it can cause issues. PEBS is currently only requesting one page.
> Both PEBS and BTS are static buffers allocated for each CPU at the
> first user. When the last user exists, the buffers are released.
> 
> All buffers are only accessed on the CPU they are attached to.
> kzalloc() does not take into account NUMA, thus all allocations
> are taking place on the NUMA node where the perf_event_open() is
> made.

I guess that should have been a alloc_pages_node() indeed.

> This patch switches allocation to vmalloc_node() to use non-contiguous
> physical memory and to allocate on the NUMA node corresponding to each
> CPU. We switched DS and PEBS although they do not cause problems today,
> to, at least, make the allocation on the correct NUMA node. In the future,
> the PEBS buffer size may increase. DS may also grow bigger than a page.
> This patch eliminates the memory allocation imbalance.

I'm not really a fan of vmalloc, have you actually observed allocation
failures for these 64k (order-4) allocations?



  reply	other threads:[~2010-09-13 15:09 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-13 14:55 [PATCH] perf_events: improve DS/BTS/PEBS buffer allocation Stephane Eranian
2010-09-13 15:08 ` Peter Zijlstra [this message]
2010-09-13 15:21   ` Stephane Eranian
2010-09-13 15:09 ` Frederic Weisbecker
2010-09-13 15:13   ` Stephane Eranian
2010-09-13 15:16     ` Peter Zijlstra
2010-09-13 15:20       ` Stephane Eranian
2010-09-13 15:24         ` Peter Zijlstra
2010-09-13 15:31           ` Stephane Eranian
2010-09-13 15:41             ` Peter Zijlstra
2010-09-13 15:51               ` Frederic Weisbecker
2010-09-13 15:55               ` Stephane Eranian
2010-09-13 17:35                 ` Peter Zijlstra
2010-09-13 18:40                   ` Stephane Eranian
2010-09-13 18:42                     ` Peter Zijlstra
2010-09-13 18:49                       ` Stephane Eranian
2010-09-13 18:57                         ` Peter Zijlstra
2010-09-13 19:12                           ` Stephane Eranian
2010-09-13 19:31                     ` Mathieu Desnoyers
2010-09-13 19:34                       ` Peter Zijlstra
2010-09-13 19:35                         ` Peter Zijlstra
2010-09-13 19:42                         ` Mathieu Desnoyers
2010-09-13 17:24               ` Stephane Eranian
2010-09-13 17:36                 ` Peter Zijlstra
2010-09-13 19:35 ` Andi Kleen
2010-09-13 19:49   ` Peter Zijlstra
2010-09-13 20:51     ` Andi Kleen
2010-09-13 20:57       ` [perfmon2] " Luck, Tony
2010-09-13 20:34   ` H. Peter Anvin

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=1284390530.2275.327.camel@laptop \
    --to=peterz@infradead.org \
    --cc=davem@davemloft.net \
    --cc=eranian@gmail.com \
    --cc=eranian@google.com \
    --cc=fweisbec@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=markus.t.metzger@intel.com \
    --cc=mingo@elte.hu \
    --cc=paulus@samba.org \
    --cc=perfmon2-devel@lists.sf.net \
    --cc=robert.richter@amd.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox