public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: markus.t.metzger@intel.com
To: mingo@elte.hu, tglx@linutronix.de, hpa@zytor.com
Cc: markus.t.metzger@gmail.com, roland@redhat.com,
	eranian@googlemail.com, oleg@redhat.com, juan.villacis@intel.com,
	ak@linux.jf.intel.com, linux-kernel@vger.kernel.org,
	Markus Metzger <markus.t.metzger@intel.com>
Subject: [patch 19/20] x86, ds: allow small debug store buffers
Date: Fri, 03 Apr 2009 16:43:51 +0200	[thread overview]
Message-ID: <20090403144606.139137000@intel.com> (raw)
In-Reply-To: 20090403144332.799740000@intel.com

[-- Attachment #1: tip.master.ds.small_buffers.patch --]
[-- Type: text/plain, Size: 2066 bytes --]

Check the buffer size more precisely to allow buffers for exactly one element
provided the base address is already properly aligned.

Add a debug store selftest.


Reported-by: Stephane Eranian <eranian@googlemail.com>
Signed-off-by: Markus Metzger <markus.t.metzger@intel.com>
---
 arch/x86/kernel/ds.c          |    9 	7 +	2 -	0 !
 arch/x86/kernel/ds_selftest.c |    6 	3 +	3 -	0 !
 2 files changed, 10 insertions(+), 5 deletions(-)

Index: b/arch/x86/kernel/ds.c
===================================================================
--- a/arch/x86/kernel/ds.c
+++ b/arch/x86/kernel/ds.c
@@ -656,6 +656,7 @@ static int ds_request(struct ds_tracer *
 {
 	struct ds_context *context;
 	int error;
+	size_t req_size;
 
 	error = -EOPNOTSUPP;
 	if (!ds_cfg.sizeof_rec[qual])
@@ -665,9 +666,13 @@ static int ds_request(struct ds_tracer *
 	if (!base)
 		goto out;
 
-	/* We need space for alignment adjustments in ds_init_ds_trace(). */
+	req_size = ds_cfg.sizeof_rec[qual];
+	/* We might need space for alignment adjustments. */
+	if (!IS_ALIGNED((unsigned long)base, DS_ALIGNMENT))
+		req_size += DS_ALIGNMENT;
+
 	error = -EINVAL;
-	if (size < (DS_ALIGNMENT + ds_cfg.sizeof_rec[qual]))
+	if (size < req_size)
 		goto out;
 
 	if (th != (size_t)-1) {
Index: b/arch/x86/kernel/ds_selftest.c
===================================================================
--- a/arch/x86/kernel/ds_selftest.c
+++ b/arch/x86/kernel/ds_selftest.c
@@ -16,8 +16,8 @@
 #include <asm/ds.h>
 
 
-#define BUFFER_SIZE	521 /* Intentionally chose an odd size. */
-
+#define BUFFER_SIZE		521	/* Intentionally chose an odd size. */
+#define SMALL_BUFFER_SIZE	24	/* A single bts entry. */
 
 struct ds_selftest_bts_conf {
 	struct bts_tracer *tracer;
@@ -381,7 +381,7 @@ int ds_selftest_bts(void)
 	conf.suspend = ds_suspend_bts_noirq;
 	conf.resume = ds_resume_bts_noirq;
 	conf.tracer =
-		ds_request_bts_task(current, buffer, BUFFER_SIZE,
+		ds_request_bts_task(current, buffer, SMALL_BUFFER_SIZE,
 				   NULL, (size_t)-1, BTS_KERNEL);
 	local_irq_save(irq);
 	ds_selftest_bts_cpu(&conf);

-- 

[-- Attachment #2: Type: text/plain, Size: 656 bytes --]

---------------------------------------------------------------------
Intel GmbH
Dornacher Strasse 1
85622 Feldkirchen/Muenchen Germany
Sitz der Gesellschaft: Feldkirchen bei Muenchen
Geschaeftsfuehrer: Douglas Lusk, Peter Gleissner, Hannes Schwaderer
Registergericht: Muenchen HRB 47456 Ust.-IdNr.
VAT Registration No.: DE129385895
Citibank Frankfurt (BLZ 502 109 00) 600119052

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.

  parent reply	other threads:[~2009-04-03 14:54 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-03 14:43 [patch 00/20] x86, ptrace, bts, hw-branch-tracer: fixes and cleanups markus.t.metzger
2009-04-03 14:43 ` [patch 01/20] x86, bts: fix race when bts tracer is removed markus.t.metzger
2009-05-07  9:21   ` [tip:tracing/core] " tip-bot for Markus Metzger
2009-04-03 14:43 ` [patch 02/20] sched: add wait_task_context_switch() fucntion to sched.h markus.t.metzger
2009-05-07  9:21   ` [tip:tracing/core] sched, hw-branch-tracer: add wait_task_context_switch() function " tip-bot for Markus Metzger
2009-04-03 14:43 ` [patch 03/20] x86, ptrace, bts: defer branch trace stopping markus.t.metzger
2009-04-03 15:00   ` Peter Zijlstra
2009-04-04  7:17     ` Metzger, Markus T
2009-04-04 11:12       ` Peter Zijlstra
2009-04-07  8:12         ` Metzger, Markus T
2009-04-07  8:29           ` Peter Zijlstra
2009-04-07  9:09             ` Metzger, Markus T
2009-05-07  9:21   ` [tip:tracing/core] mm, " tip-bot for Markus Metzger
2009-04-03 14:43 ` [patch 04/20] x86, bts: wait until traced task has been scheduled out markus.t.metzger
2009-05-07  9:22   ` [tip:tracing/core] " tip-bot for Markus Metzger
2009-04-03 14:43 ` [patch 05/20] x86, bts: fix race between per-task and per-cpu branch tracing markus.t.metzger
2009-05-07  9:22   ` [tip:tracing/core] " tip-bot for Markus Metzger
2009-04-03 14:43 ` [patch 06/20] x86, bts: use trace_clock_global() for timestamps markus.t.metzger
2009-05-07  9:22   ` [tip:tracing/core] " tip-bot for Markus Metzger
2009-04-03 14:43 ` [patch 07/20] x86, debugctlmsr: add _on_cpu variants to debugctlmsr functions markus.t.metzger
2009-05-07  9:22   ` [tip:tracing/core] " tip-bot for Markus Metzger
2009-04-03 14:43 ` [patch 08/20] x86, bts, hw-branch-tracer: add _noirq variants to the debug store interface markus.t.metzger
2009-05-07  9:22   ` [tip:tracing/core] " tip-bot for Markus Metzger
2009-04-03 14:43 ` [patch 09/20] x86, hw-branch-tracer: allocate selftest iterator on heap markus.t.metzger
2009-05-07  9:23   ` [tip:tracing/core] " tip-bot for Markus Metzger
2009-04-03 14:43 ` [patch 10/20] x86, ds: fix compiler warning markus.t.metzger
2009-05-07  9:23   ` [tip:tracing/core] " tip-bot for Markus Metzger
2009-04-03 14:43 ` [patch 11/20] x86, ds: fix bounds check in ds selftest markus.t.metzger
2009-05-07  9:23   ` [tip:tracing/core] " tip-bot for Markus Metzger
2009-04-03 14:43 ` [patch 12/20] x86, ds: selftest each cpu markus.t.metzger
2009-05-07  9:23   ` [tip:tracing/core] " tip-bot for Markus Metzger
2009-04-03 14:43 ` [patch 13/20] x86, ds: add task tracing selftest markus.t.metzger
2009-05-07  9:23   ` [tip:tracing/core] " tip-bot for Markus Metzger
2009-04-03 14:43 ` [patch 14/20] x86, ds: add leakage warning markus.t.metzger
2009-05-07  9:24   ` [tip:tracing/core] " tip-bot for Markus Metzger
2009-04-03 14:43 ` [patch 15/20] x86, ds: use single debug store cpu configuration markus.t.metzger
2009-05-07  9:24   ` [tip:tracing/core] " tip-bot for Markus Metzger
2009-04-03 14:43 ` [patch 16/20] x86, ptrace: add bts context unconditionally markus.t.metzger
2009-05-07  9:24   ` [tip:tracing/core] " tip-bot for Markus Metzger
2009-04-03 14:43 ` [patch 17/20] x86, ds: dont use TIF_DEBUGCTLMSR markus.t.metzger
2009-05-07  9:24   ` [tip:tracing/core] " tip-bot for Markus Metzger
2009-04-03 14:43 ` [patch 18/20] x86, ds: fix bad ds_reset_pebs() markus.t.metzger
2009-05-07  9:24   ` [tip:tracing/core] " tip-bot for Markus Metzger
2009-04-03 14:43 ` markus.t.metzger [this message]
2009-05-07  9:24   ` [tip:tracing/core] x86, ds: allow small debug store buffers tip-bot for Markus Metzger
2009-04-03 14:43 ` [patch 20/20] x86, ds: support Core i7 markus.t.metzger
2009-05-07  9:25   ` [tip:tracing/core] " tip-bot for Markus Metzger
2009-04-03 15:36 ` [patch 00/20] x86, ptrace, bts, hw-branch-tracer: fixes and cleanups Ingo Molnar
2009-04-03 17:44   ` Markus Metzger
2009-04-03 17:48     ` Ingo Molnar

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=20090403144606.139137000@intel.com \
    --to=markus.t.metzger@intel.com \
    --cc=ak@linux.jf.intel.com \
    --cc=eranian@googlemail.com \
    --cc=hpa@zytor.com \
    --cc=juan.villacis@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=markus.t.metzger@gmail.com \
    --cc=mingo@elte.hu \
    --cc=oleg@redhat.com \
    --cc=roland@redhat.com \
    --cc=tglx@linutronix.de \
    /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