This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: Unified tracing buffer
- From: Roland Dreier <rdreier at cisco dot com>
- To: Linus Torvalds <torvalds at linux-foundation dot org>
- Cc: Masami Hiramatsu <mhiramat at redhat dot com>, Martin Bligh <mbligh at google dot com>, Linux Kernel Mailing List <linux-kernel at vger dot kernel dot org>, Thomas Gleixner <tglx at linutronix dot de>, Mathieu Desnoyers <compudj at krystal dot dyndns dot org>, Steven Rostedt <rostedt at goodmis dot org>, darren at dvhart dot com, "Frank Ch. Eigler" <fche at redhat dot com>, systemtap-ml <systemtap at sources dot redhat dot com>
- Date: Mon, 22 Sep 2008 18:26:59 -0700
- Subject: Re: Unified tracing buffer
- Authentication-results: sj-dkim-4; header.From=rdreier@cisco.com; dkim=pass ( sig from cisco.com/sjdkim4002 verified; );
- Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; l=1009; t=1222133224; x=1222997224; c=relaxed/simple; s=sjdkim4002; h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version; d=cisco.com; i=rdreier@cisco.com; z=From:=20Roland=20Dreier=20<rdreier@cisco.com> |Subject:=20Re=3A=20Unified=20tracing=20buffer |Sender:=20; bh=CUZDzKYnW66iG9ATkrfg/kKz/fmLbVs9xb2fkK1TuZQ=; b=AkKUG/bXJTH1HS44a2fSHZTf4TzgOeFpReA/eoQTtdAIHofSREoE4mr7fC WEJrT3P/VUogjIS6xZZDRaZrMQGdlGOuwXom9Vg3XElvgEJvy5XPRzoXeQyw qlRLEWhl39;
- References: <33307c790809191433w246c0283l55a57c196664ce77@mail.gmail.com> <48D7F5E8.3000705@redhat.com> <33307c790809221313s3532d851g7239c212bc72fe71@mail.gmail.com> <48D81B5F.2030702@redhat.com> <33307c790809221616h5e7410f5gc37c262d83722111@mail.gmail.com> <48D832B6.3010409@redhat.com> <alpine.LFD.1.10.0809221718100.3265@nehalem.linux-foundation.org>
> Because all it tells you is the ordering of the atomic increment, not of
> the caller. The atomic increment is not related to all the other ops that
> the code that you trace actually does in any shape or form, and so the
> ordering of the trace doesn't actually imply anything for the ordering of
> the operations you are tracing!
This reminds me of a naive question that occurred to me while we were
discussing this at KS. Namely, what does "ordering" mean for events?
An example I'm all too familiar with is the lack of ordering of MMIO on
big SGI systems -- if you forget an mmiowb(), then two CPUs taking a
spinlock and doing writel() inside the spinlock and then dropping the
spinlock (which should be enough to "order" things) might see the
writel() reach the final device "out of order" because the write has to
travel through a routed system fabric.
Just like Einstein said, it really seems to me that the order of things
depends on your frame of reference.
- R.