All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] xentrace: Clear lost records when disabling tracing
@ 2010-02-01 19:00 George Dunlap
  0 siblings, 0 replies; only message in thread
From: George Dunlap @ 2010-02-01 19:00 UTC (permalink / raw)
  To: xen-devel

[-- Attachment #1: Type: text/plain, Size: 316 bytes --]

This patch clears the "lost records" flag on each cpu when tracing is disabled.

Without this patch, the next time tracing starts, cpus with lost
records will generate lost record traces, even though buffers are
empty and no tracing has recently happened.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>

[-- Attachment #2: 20100107-unstable-trace-clear-lost-records-on-disable.diff --]
[-- Type: text/x-patch, Size: 1043 bytes --]

diff -r 2c5b7da4b914 xen/common/trace.c
--- a/xen/common/trace.c	Wed Jan 06 16:22:18 2010 +0000
+++ b/xen/common/trace.c	Thu Jan 07 15:24:15 2010 +0000
@@ -230,11 +230,26 @@
             tb_init_done = 1;
         break;
     case XEN_SYSCTL_TBUFOP_disable:
+    {
         /*
          * Disable trace buffers. Just stops new records from being written,
          * does not deallocate any memory.
          */
+        int i;
+
         tb_init_done = 0;
+        wmb();
+        /* Clear any lost-record info so we don't get phantom lost records next time we
+         * start tracing.  Grab the lock to make sure we're not racing anyone.  After this
+         * hypercall returns, no more records should be placed into the buffers. */
+        for_each_online_cpu(i)
+        {
+            int flags;
+            spin_lock_irqsave(&per_cpu(t_lock, i), flags);
+            per_cpu(lost_records, i)=0;
+            spin_unlock_irqrestore(&per_cpu(t_lock, i), flags);
+        }
+    }
         break;
     default:
         rc = -EINVAL;

[-- Attachment #3: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2010-02-01 19:00 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-02-01 19:00 [PATCH] xentrace: Clear lost records when disabling tracing George Dunlap

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.