* [PATCH] perf: Add DWARF register lookup for SH
@ 2010-07-10 15:10 Matt Fleming
2010-07-12 1:54 ` Masami Hiramatsu
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Matt Fleming @ 2010-07-10 15:10 UTC (permalink / raw)
To: linux-kernel
Cc: Peter Zijlstra, Paul Mackerras, Ingo Molnar,
Arnaldo Carvalho de Melo, Ian Munsie, Masami Hiramatsu
Implement get_arch_regstr() for SH so that, given a DWARF register
number, the corresponding symbolic name of that register can be looked
up.
Signed-off-by: Matt Fleming <matt@console-pimps.org>
---
tools/perf/arch/sh/Makefile | 4 ++
tools/perf/arch/sh/util/dwarf-regs.c | 55 ++++++++++++++++++++++++++++++++++
2 files changed, 59 insertions(+), 0 deletions(-)
create mode 100644 tools/perf/arch/sh/Makefile
create mode 100644 tools/perf/arch/sh/util/dwarf-regs.c
diff --git a/tools/perf/arch/sh/Makefile b/tools/perf/arch/sh/Makefile
new file mode 100644
index 0000000..15130b5
--- /dev/null
+++ b/tools/perf/arch/sh/Makefile
@@ -0,0 +1,4 @@
+ifndef NO_DWARF
+PERF_HAVE_DWARF_REGS := 1
+LIB_OBJS += $(OUTPUT)arch/$(ARCH)/util/dwarf-regs.o
+endif
diff --git a/tools/perf/arch/sh/util/dwarf-regs.c b/tools/perf/arch/sh/util/dwarf-regs.c
new file mode 100644
index 0000000..a11edb0
--- /dev/null
+++ b/tools/perf/arch/sh/util/dwarf-regs.c
@@ -0,0 +1,55 @@
+/*
+ * Mapping of DWARF debug register numbers into register names.
+ *
+ * Copyright (C) 2010 Matt Fleming <matt@console-pimps.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ */
+
+#include <libio.h>
+#include <dwarf-regs.h>
+
+/*
+ * Generic dwarf analysis helpers
+ */
+
+#define SH_MAX_REGS 18
+const char *sh_regs_table[SH_MAX_REGS] = {
+ "r0",
+ "r1",
+ "r2",
+ "r3",
+ "r4",
+ "r5",
+ "r6",
+ "r7",
+ "r8",
+ "r9",
+ "r10",
+ "r11",
+ "r12",
+ "r13",
+ "r14",
+ "r15",
+ "pc",
+ "pr",
+};
+
+/* Return architecture dependent register string (for kprobe-tracer) */
+const char *get_arch_regstr(unsigned int n)
+{
+ return (n <= SH_MAX_REGS) ? sh_regs_table[n] : NULL;
+}
--
1.6.4.rc0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH] perf: Add DWARF register lookup for SH
2010-07-10 15:10 [PATCH] perf: Add DWARF register lookup for SH Matt Fleming
@ 2010-07-12 1:54 ` Masami Hiramatsu
2010-07-12 6:23 ` Matt Fleming
2010-07-12 8:57 ` Masami Hiramatsu
2010-07-16 4:21 ` [tip:perf/core] perf tools: " tip-bot for Matt Fleming
2 siblings, 1 reply; 9+ messages in thread
From: Masami Hiramatsu @ 2010-07-12 1:54 UTC (permalink / raw)
To: Matt Fleming
Cc: linux-kernel, Peter Zijlstra, Paul Mackerras, Ingo Molnar,
Arnaldo Carvalho de Melo, Ian Munsie, Masami Hiramatsu
Matt Fleming wrote:
> Implement get_arch_regstr() for SH so that, given a DWARF register
> number, the corresponding symbolic name of that register can be looked
> up.
OK, the patch itself looks good, but I don't know whether SH kernel
supports KPROBE_EVENT which is required for perf-probe. Or, SH kernel
repository already has it?
Thank you,
>
> Signed-off-by: Matt Fleming <matt@console-pimps.org>
> ---
> tools/perf/arch/sh/Makefile | 4 ++
> tools/perf/arch/sh/util/dwarf-regs.c | 55 ++++++++++++++++++++++++++++++++++
> 2 files changed, 59 insertions(+), 0 deletions(-)
> create mode 100644 tools/perf/arch/sh/Makefile
> create mode 100644 tools/perf/arch/sh/util/dwarf-regs.c
>
> diff --git a/tools/perf/arch/sh/Makefile b/tools/perf/arch/sh/Makefile
> new file mode 100644
> index 0000000..15130b5
> --- /dev/null
> +++ b/tools/perf/arch/sh/Makefile
> @@ -0,0 +1,4 @@
> +ifndef NO_DWARF
> +PERF_HAVE_DWARF_REGS := 1
> +LIB_OBJS += $(OUTPUT)arch/$(ARCH)/util/dwarf-regs.o
> +endif
> diff --git a/tools/perf/arch/sh/util/dwarf-regs.c b/tools/perf/arch/sh/util/dwarf-regs.c
> new file mode 100644
> index 0000000..a11edb0
> --- /dev/null
> +++ b/tools/perf/arch/sh/util/dwarf-regs.c
> @@ -0,0 +1,55 @@
> +/*
> + * Mapping of DWARF debug register numbers into register names.
> + *
> + * Copyright (C) 2010 Matt Fleming <matt@console-pimps.org>
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
> + *
> + */
> +
> +#include <libio.h>
> +#include <dwarf-regs.h>
> +
> +/*
> + * Generic dwarf analysis helpers
> + */
> +
> +#define SH_MAX_REGS 18
> +const char *sh_regs_table[SH_MAX_REGS] = {
> + "r0",
> + "r1",
> + "r2",
> + "r3",
> + "r4",
> + "r5",
> + "r6",
> + "r7",
> + "r8",
> + "r9",
> + "r10",
> + "r11",
> + "r12",
> + "r13",
> + "r14",
> + "r15",
> + "pc",
> + "pr",
> +};
> +
> +/* Return architecture dependent register string (for kprobe-tracer) */
> +const char *get_arch_regstr(unsigned int n)
> +{
> + return (n <= SH_MAX_REGS) ? sh_regs_table[n] : NULL;
> +}
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] perf: Add DWARF register lookup for SH
2010-07-12 1:54 ` Masami Hiramatsu
@ 2010-07-12 6:23 ` Matt Fleming
2010-07-12 6:41 ` Paul Mundt
0 siblings, 1 reply; 9+ messages in thread
From: Matt Fleming @ 2010-07-12 6:23 UTC (permalink / raw)
To: Masami Hiramatsu
Cc: linux-kernel, Peter Zijlstra, Paul Mackerras, Ingo Molnar,
Arnaldo Carvalho de Melo, Ian Munsie, Masami Hiramatsu,
Paul Mundt
On Mon, 12 Jul 2010 10:54:43 +0900, Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> wrote:
> Matt Fleming wrote:
> > Implement get_arch_regstr() for SH so that, given a DWARF register
> > number, the corresponding symbolic name of that register can be looked
> > up.
>
> OK, the patch itself looks good, but I don't know whether SH kernel
> supports KPROBE_EVENT which is required for perf-probe. Or, SH kernel
> repository already has it?
No, SH doesn't support KPROBE_EVENT yet. It's on my list of things to
do. However, this patch also stops the "DWARF register mappings have not
been defined" warning when building perf.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] perf: Add DWARF register lookup for SH
2010-07-12 6:23 ` Matt Fleming
@ 2010-07-12 6:41 ` Paul Mundt
2010-07-12 8:14 ` Matt Fleming
2010-07-12 8:55 ` Masami Hiramatsu
0 siblings, 2 replies; 9+ messages in thread
From: Paul Mundt @ 2010-07-12 6:41 UTC (permalink / raw)
To: Matt Fleming
Cc: Masami Hiramatsu, linux-kernel, Peter Zijlstra, Paul Mackerras,
Ingo Molnar, Arnaldo Carvalho de Melo, Ian Munsie,
Masami Hiramatsu
On Mon, Jul 12, 2010 at 07:23:44AM +0100, Matt Fleming wrote:
> On Mon, 12 Jul 2010 10:54:43 +0900, Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> wrote:
> > Matt Fleming wrote:
> > > Implement get_arch_regstr() for SH so that, given a DWARF register
> > > number, the corresponding symbolic name of that register can be looked
> > > up.
> >
> > OK, the patch itself looks good, but I don't know whether SH kernel
> > supports KPROBE_EVENT which is required for perf-probe. Or, SH kernel
> > repository already has it?
>
> No, SH doesn't support KPROBE_EVENT yet. It's on my list of things to
> do. However, this patch also stops the "DWARF register mappings have not
> been defined" warning when building perf.
It does now, by virtue of HAVE_REGS_AND_STACK_ACCESS_API. The initial
support for this was checked in on June 14th, so you should be able to
use it already as long as you're working with current HEAD.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] perf: Add DWARF register lookup for SH
2010-07-12 6:41 ` Paul Mundt
@ 2010-07-12 8:14 ` Matt Fleming
2010-07-12 8:55 ` Masami Hiramatsu
1 sibling, 0 replies; 9+ messages in thread
From: Matt Fleming @ 2010-07-12 8:14 UTC (permalink / raw)
To: Paul Mundt
Cc: Masami Hiramatsu, linux-kernel, Peter Zijlstra, Paul Mackerras,
Ingo Molnar, Arnaldo Carvalho de Melo, Ian Munsie,
Masami Hiramatsu
On Mon, Jul 12, 2010 at 03:41:26PM +0900, Paul Mundt wrote:
> On Mon, Jul 12, 2010 at 07:23:44AM +0100, Matt Fleming wrote:
> >
> > No, SH doesn't support KPROBE_EVENT yet. It's on my list of things to
> > do. However, this patch also stops the "DWARF register mappings have not
> > been defined" warning when building perf.
>
> It does now, by virtue of HAVE_REGS_AND_STACK_ACCESS_API. The initial
> support for this was checked in on June 14th, so you should be able to
> use it already as long as you're working with current HEAD.
Oh, whoops, I must have been thinking of something else. Thanks Paul!
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] perf: Add DWARF register lookup for SH
2010-07-12 6:41 ` Paul Mundt
2010-07-12 8:14 ` Matt Fleming
@ 2010-07-12 8:55 ` Masami Hiramatsu
1 sibling, 0 replies; 9+ messages in thread
From: Masami Hiramatsu @ 2010-07-12 8:55 UTC (permalink / raw)
To: Paul Mundt
Cc: Matt Fleming, linux-kernel, Peter Zijlstra, Paul Mackerras,
Ingo Molnar, Arnaldo Carvalho de Melo, Ian Munsie,
Masami Hiramatsu
Paul Mundt wrote:
> On Mon, Jul 12, 2010 at 07:23:44AM +0100, Matt Fleming wrote:
>> On Mon, 12 Jul 2010 10:54:43 +0900, Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> wrote:
>>> Matt Fleming wrote:
>>>> Implement get_arch_regstr() for SH so that, given a DWARF register
>>>> number, the corresponding symbolic name of that register can be looked
>>>> up.
>>> OK, the patch itself looks good, but I don't know whether SH kernel
>>> supports KPROBE_EVENT which is required for perf-probe. Or, SH kernel
>>> repository already has it?
>> No, SH doesn't support KPROBE_EVENT yet. It's on my list of things to
>> do. However, this patch also stops the "DWARF register mappings have not
>> been defined" warning when building perf.
>
> It does now, by virtue of HAVE_REGS_AND_STACK_ACCESS_API. The initial
> support for this was checked in on June 14th, so you should be able to
> use it already as long as you're working with current HEAD.
Wow, that's great! :)
Thanks!
--
Masami HIRAMATSU
2nd Research Dept.
Hitachi, Ltd., Systems Development Laboratory
E-mail: masami.hiramatsu.pt@hitachi.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] perf: Add DWARF register lookup for SH
2010-07-10 15:10 [PATCH] perf: Add DWARF register lookup for SH Matt Fleming
2010-07-12 1:54 ` Masami Hiramatsu
@ 2010-07-12 8:57 ` Masami Hiramatsu
2010-07-12 17:14 ` Arnaldo Carvalho de Melo
2010-07-16 4:21 ` [tip:perf/core] perf tools: " tip-bot for Matt Fleming
2 siblings, 1 reply; 9+ messages in thread
From: Masami Hiramatsu @ 2010-07-12 8:57 UTC (permalink / raw)
To: Matt Fleming
Cc: linux-kernel, Peter Zijlstra, Paul Mackerras, Ingo Molnar,
Arnaldo Carvalho de Melo, Ian Munsie, Masami Hiramatsu
Matt Fleming wrote:
> Implement get_arch_regstr() for SH so that, given a DWARF register
> number, the corresponding symbolic name of that register can be looked
> up.
KPROBE_EVENT has already been supported on the latest linux-sh,
so this should be work on that.
Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Thanks!
>
> Signed-off-by: Matt Fleming <matt@console-pimps.org>
> ---
> tools/perf/arch/sh/Makefile | 4 ++
> tools/perf/arch/sh/util/dwarf-regs.c | 55 ++++++++++++++++++++++++++++++++++
> 2 files changed, 59 insertions(+), 0 deletions(-)
> create mode 100644 tools/perf/arch/sh/Makefile
> create mode 100644 tools/perf/arch/sh/util/dwarf-regs.c
>
> diff --git a/tools/perf/arch/sh/Makefile b/tools/perf/arch/sh/Makefile
> new file mode 100644
> index 0000000..15130b5
> --- /dev/null
> +++ b/tools/perf/arch/sh/Makefile
> @@ -0,0 +1,4 @@
> +ifndef NO_DWARF
> +PERF_HAVE_DWARF_REGS := 1
> +LIB_OBJS += $(OUTPUT)arch/$(ARCH)/util/dwarf-regs.o
> +endif
> diff --git a/tools/perf/arch/sh/util/dwarf-regs.c b/tools/perf/arch/sh/util/dwarf-regs.c
> new file mode 100644
> index 0000000..a11edb0
> --- /dev/null
> +++ b/tools/perf/arch/sh/util/dwarf-regs.c
> @@ -0,0 +1,55 @@
> +/*
> + * Mapping of DWARF debug register numbers into register names.
> + *
> + * Copyright (C) 2010 Matt Fleming <matt@console-pimps.org>
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
> + *
> + */
> +
> +#include <libio.h>
> +#include <dwarf-regs.h>
> +
> +/*
> + * Generic dwarf analysis helpers
> + */
> +
> +#define SH_MAX_REGS 18
> +const char *sh_regs_table[SH_MAX_REGS] = {
> + "r0",
> + "r1",
> + "r2",
> + "r3",
> + "r4",
> + "r5",
> + "r6",
> + "r7",
> + "r8",
> + "r9",
> + "r10",
> + "r11",
> + "r12",
> + "r13",
> + "r14",
> + "r15",
> + "pc",
> + "pr",
> +};
> +
> +/* Return architecture dependent register string (for kprobe-tracer) */
> +const char *get_arch_regstr(unsigned int n)
> +{
> + return (n <= SH_MAX_REGS) ? sh_regs_table[n] : NULL;
> +}
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] perf: Add DWARF register lookup for SH
2010-07-12 8:57 ` Masami Hiramatsu
@ 2010-07-12 17:14 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 9+ messages in thread
From: Arnaldo Carvalho de Melo @ 2010-07-12 17:14 UTC (permalink / raw)
To: Masami Hiramatsu
Cc: Matt Fleming, linux-kernel, Peter Zijlstra, Paul Mackerras,
Ingo Molnar, Ian Munsie, Masami Hiramatsu
Em Mon, Jul 12, 2010 at 05:57:29PM +0900, Masami Hiramatsu escreveu:
> Matt Fleming wrote:
> > Implement get_arch_regstr() for SH so that, given a DWARF register
> > number, the corresponding symbolic name of that register can be looked
> > up.
>
> KPROBE_EVENT has already been supported on the latest linux-sh,
> so this should be work on that.
>
> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Thanks, applying it then,
- Arnaldo
^ permalink raw reply [flat|nested] 9+ messages in thread
* [tip:perf/core] perf tools: Add DWARF register lookup for SH
2010-07-10 15:10 [PATCH] perf: Add DWARF register lookup for SH Matt Fleming
2010-07-12 1:54 ` Masami Hiramatsu
2010-07-12 8:57 ` Masami Hiramatsu
@ 2010-07-16 4:21 ` tip-bot for Matt Fleming
2 siblings, 0 replies; 9+ messages in thread
From: tip-bot for Matt Fleming @ 2010-07-16 4:21 UTC (permalink / raw)
To: linux-tip-commits
Cc: acme, linux-kernel, paulus, hpa, mingo, a.p.zijlstra,
masami.hiramatsu.pt, matt, imunsie, tglx, mingo
Commit-ID: 0dd9ac63ce26ec87b080ca9c3e6efed33c23ace6
Gitweb: http://git.kernel.org/tip/0dd9ac63ce26ec87b080ca9c3e6efed33c23ace6
Author: Matt Fleming <matt@console-pimps.org>
AuthorDate: Sat, 10 Jul 2010 16:10:39 +0100
Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Mon, 12 Jul 2010 11:25:10 -0300
perf tools: Add DWARF register lookup for SH
Implement get_arch_regstr() for SH so that, given a DWARF register number, the
corresponding symbolic name of that register can be looked up.
Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Ian Munsie <imunsie@au.ibm.com>
LKML-Reference: <e55812819ad18c2ceca5651ac7698a2af46180d7.1278774279.git.matt@console-pimps.org>
Signed-off-by: Matt Fleming <matt@console-pimps.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/arch/{powerpc => sh}/Makefile | 0
.../perf/arch/sh/util/dwarf-regs.c | 48 +++++++++++++-------
2 files changed, 32 insertions(+), 16 deletions(-)
diff --git a/tools/perf/arch/powerpc/Makefile b/tools/perf/arch/sh/Makefile
similarity index 100%
copy from tools/perf/arch/powerpc/Makefile
copy to tools/perf/arch/sh/Makefile
diff --git a/kernel/rcutiny_plugin.h b/tools/perf/arch/sh/util/dwarf-regs.c
similarity index 55%
copy from kernel/rcutiny_plugin.h
copy to tools/perf/arch/sh/util/dwarf-regs.c
index d223a92..a11edb0 100644
--- a/kernel/rcutiny_plugin.h
+++ b/tools/perf/arch/sh/util/dwarf-regs.c
@@ -1,7 +1,7 @@
/*
- * Read-Copy Update mechanism for mutual exclusion (tree-based version)
- * Internal non-public definitions that provide either classic
- * or preemptable semantics.
+ * Mapping of DWARF debug register numbers into register names.
+ *
+ * Copyright (C) 2010 Matt Fleming <matt@console-pimps.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -17,23 +17,39 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
- * Copyright IBM Corporation, 2009
- *
- * Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
*/
-#ifdef CONFIG_DEBUG_LOCK_ALLOC
-
-#include <linux/kernel_stat.h>
+#include <libio.h>
+#include <dwarf-regs.h>
/*
- * During boot, we forgive RCU lockdep issues. After this function is
- * invoked, we start taking RCU lockdep issues seriously.
+ * Generic dwarf analysis helpers
*/
-void rcu_scheduler_starting(void)
+
+#define SH_MAX_REGS 18
+const char *sh_regs_table[SH_MAX_REGS] = {
+ "r0",
+ "r1",
+ "r2",
+ "r3",
+ "r4",
+ "r5",
+ "r6",
+ "r7",
+ "r8",
+ "r9",
+ "r10",
+ "r11",
+ "r12",
+ "r13",
+ "r14",
+ "r15",
+ "pc",
+ "pr",
+};
+
+/* Return architecture dependent register string (for kprobe-tracer) */
+const char *get_arch_regstr(unsigned int n)
{
- WARN_ON(nr_context_switches() > 0);
- rcu_scheduler_active = 1;
+ return (n <= SH_MAX_REGS) ? sh_regs_table[n] : NULL;
}
-
-#endif /* #ifdef CONFIG_DEBUG_LOCK_ALLOC */
^ permalink raw reply related [flat|nested] 9+ messages in thread
end of thread, other threads:[~2010-07-16 4:22 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-10 15:10 [PATCH] perf: Add DWARF register lookup for SH Matt Fleming
2010-07-12 1:54 ` Masami Hiramatsu
2010-07-12 6:23 ` Matt Fleming
2010-07-12 6:41 ` Paul Mundt
2010-07-12 8:14 ` Matt Fleming
2010-07-12 8:55 ` Masami Hiramatsu
2010-07-12 8:57 ` Masami Hiramatsu
2010-07-12 17:14 ` Arnaldo Carvalho de Melo
2010-07-16 4:21 ` [tip:perf/core] perf tools: " tip-bot for Matt Fleming
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.