From: Marc Zyngier <maz@kernel.org>
To: Yosry Ahmed <yosryahmed@google.com>
Cc: Wanpeng Li <wanpengli@tencent.com>,
kvm@vger.kernel.org, Roman Gushchin <roman.gushchin@linux.dev>,
Michal Hocko <mhocko@kernel.org>,
linux-mm@kvack.org, Zefan Li <lizefan.x@bytedance.com>,
kvmarm@lists.cs.columbia.edu, Joerg Roedel <joro@8bytes.org>,
Shakeel Butt <shakeelb@google.com>,
cgroups@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
linux-arm-kernel@lists.infradead.org,
Jim Mattson <jmattson@google.com>,
linux-kernel@vger.kernel.org,
Johannes Weiner <hannes@cmpxchg.org>, Tejun Heo <tj@kernel.org>,
Paolo Bonzini <pbonzini@redhat.com>,
Vitaly Kuznetsov <vkuznets@redhat.com>
Subject: Re: [PATCH v4 1/4] mm: add NR_SECONDARY_PAGETABLE to count secondary page table uses.
Date: Mon, 02 May 2022 11:01:44 +0100 [thread overview]
Message-ID: <87ilqoi77b.wl-maz@kernel.org> (raw)
In-Reply-To: <20220429201131.3397875-2-yosryahmed@google.com>
On Fri, 29 Apr 2022 21:11:28 +0100,
Yosry Ahmed <yosryahmed@google.com> wrote:
>
> Add NR_SECONDARY_PAGETABLE stat to count secondary page table uses, e.g.
> KVM mmu. This provides more insights on the kernel memory used
> by a workload.
>
> This stat will be used by subsequent patches to count KVM mmu
> memory usage.
>
> Signed-off-by: Yosry Ahmed <yosryahmed@google.com>
> ---
> Documentation/admin-guide/cgroup-v2.rst | 5 +++++
> Documentation/filesystems/proc.rst | 4 ++++
> drivers/base/node.c | 2 ++
> fs/proc/meminfo.c | 2 ++
> include/linux/mmzone.h | 1 +
> mm/memcontrol.c | 1 +
> mm/page_alloc.c | 6 +++++-
> mm/vmstat.c | 1 +
> 8 files changed, 21 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/admin-guide/cgroup-v2.rst b/Documentation/admin-guide/cgroup-v2.rst
> index 69d7a6983f78..828cb6b6f918 100644
> --- a/Documentation/admin-guide/cgroup-v2.rst
> +++ b/Documentation/admin-guide/cgroup-v2.rst
> @@ -1312,6 +1312,11 @@ PAGE_SIZE multiple when read back.
> pagetables
> Amount of memory allocated for page tables.
>
> + secondary_pagetables
> + Amount of memory allocated for secondary page tables,
> + this currently includes KVM mmu allocations on x86
> + and arm64.
Can you please explain what the rationale is for this? We already
account for the (arm64) S2 PTs as a userspace allocation (see
115bae923ac8bb29ee635). You are saying that this is related to a
'workload', but given that the accounting is global, I fail to see how
you can attribute these allocations on a particular VM.
What do you plan to do for IOMMU page tables? After all, they serve
the exact same purpose, and I'd expect these to be handled the same
way (i.e. why is this KVM specific?).
Thanks,
M.
--
Without deviation from the norm, progress is not possible.
WARNING: multiple messages have this Message-ID (diff)
From: Marc Zyngier <maz@kernel.org>
To: Yosry Ahmed <yosryahmed@google.com>
Cc: Wanpeng Li <wanpengli@tencent.com>,
kvm@vger.kernel.org, Roman Gushchin <roman.gushchin@linux.dev>,
Michal Hocko <mhocko@kernel.org>,
linux-mm@kvack.org, Zefan Li <lizefan.x@bytedance.com>,
kvmarm@lists.cs.columbia.edu, Joerg Roedel <joro@8bytes.org>,
Shakeel Butt <shakeelb@google.com>,
cgroups@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
linux-arm-kernel@lists.infradead.org,
Jim Mattson <jmattson@google.com>,
linux-kernel@vger.kernel.org,
Johannes Weiner <hannes@cmpxchg.org>, Tejun Heo <tj@kernel.org>,
Paolo Bonzini <pbonzini@redhat.com>,
Vitaly Kuznetsov <vkuznets@redhat.com>
Subject: Re: [PATCH v4 1/4] mm: add NR_SECONDARY_PAGETABLE to count secondary page table uses.
Date: Mon, 02 May 2022 11:01:44 +0100 [thread overview]
Message-ID: <87ilqoi77b.wl-maz@kernel.org> (raw)
In-Reply-To: <20220429201131.3397875-2-yosryahmed@google.com>
On Fri, 29 Apr 2022 21:11:28 +0100,
Yosry Ahmed <yosryahmed@google.com> wrote:
>
> Add NR_SECONDARY_PAGETABLE stat to count secondary page table uses, e.g.
> KVM mmu. This provides more insights on the kernel memory used
> by a workload.
>
> This stat will be used by subsequent patches to count KVM mmu
> memory usage.
>
> Signed-off-by: Yosry Ahmed <yosryahmed@google.com>
> ---
> Documentation/admin-guide/cgroup-v2.rst | 5 +++++
> Documentation/filesystems/proc.rst | 4 ++++
> drivers/base/node.c | 2 ++
> fs/proc/meminfo.c | 2 ++
> include/linux/mmzone.h | 1 +
> mm/memcontrol.c | 1 +
> mm/page_alloc.c | 6 +++++-
> mm/vmstat.c | 1 +
> 8 files changed, 21 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/admin-guide/cgroup-v2.rst b/Documentation/admin-guide/cgroup-v2.rst
> index 69d7a6983f78..828cb6b6f918 100644
> --- a/Documentation/admin-guide/cgroup-v2.rst
> +++ b/Documentation/admin-guide/cgroup-v2.rst
> @@ -1312,6 +1312,11 @@ PAGE_SIZE multiple when read back.
> pagetables
> Amount of memory allocated for page tables.
>
> + secondary_pagetables
> + Amount of memory allocated for secondary page tables,
> + this currently includes KVM mmu allocations on x86
> + and arm64.
Can you please explain what the rationale is for this? We already
account for the (arm64) S2 PTs as a userspace allocation (see
115bae923ac8bb29ee635). You are saying that this is related to a
'workload', but given that the accounting is global, I fail to see how
you can attribute these allocations on a particular VM.
What do you plan to do for IOMMU page tables? After all, they serve
the exact same purpose, and I'd expect these to be handled the same
way (i.e. why is this KVM specific?).
Thanks,
M.
--
Without deviation from the norm, progress is not possible.
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
WARNING: multiple messages have this Message-ID (diff)
From: Marc Zyngier <maz@kernel.org>
To: Yosry Ahmed <yosryahmed@google.com>
Cc: Tejun Heo <tj@kernel.org>, Johannes Weiner <hannes@cmpxchg.org>,
Zefan Li <lizefan.x@bytedance.com>,
James Morse <james.morse@arm.com>,
Alexandru Elisei <alexandru.elisei@arm.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Sean Christopherson <seanjc@google.com>,
Vitaly Kuznetsov <vkuznets@redhat.com>,
Wanpeng Li <wanpengli@tencent.com>,
Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>,
Andrew Morton <akpm@linux-foundation.org>,
Michal Hocko <mhocko@kernel.org>,
Roman Gushchin <roman.gushchin@linux.dev>,
Shakeel Butt <shakeelb@google.com>,
Oliver Upton <oupton@google.com>,
cgroups@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org,
linux-mm@kvack.org
Subject: Re: [PATCH v4 1/4] mm: add NR_SECONDARY_PAGETABLE to count secondary page table uses.
Date: Mon, 02 May 2022 11:01:44 +0100 [thread overview]
Message-ID: <87ilqoi77b.wl-maz@kernel.org> (raw)
In-Reply-To: <20220429201131.3397875-2-yosryahmed@google.com>
On Fri, 29 Apr 2022 21:11:28 +0100,
Yosry Ahmed <yosryahmed@google.com> wrote:
>
> Add NR_SECONDARY_PAGETABLE stat to count secondary page table uses, e.g.
> KVM mmu. This provides more insights on the kernel memory used
> by a workload.
>
> This stat will be used by subsequent patches to count KVM mmu
> memory usage.
>
> Signed-off-by: Yosry Ahmed <yosryahmed@google.com>
> ---
> Documentation/admin-guide/cgroup-v2.rst | 5 +++++
> Documentation/filesystems/proc.rst | 4 ++++
> drivers/base/node.c | 2 ++
> fs/proc/meminfo.c | 2 ++
> include/linux/mmzone.h | 1 +
> mm/memcontrol.c | 1 +
> mm/page_alloc.c | 6 +++++-
> mm/vmstat.c | 1 +
> 8 files changed, 21 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/admin-guide/cgroup-v2.rst b/Documentation/admin-guide/cgroup-v2.rst
> index 69d7a6983f78..828cb6b6f918 100644
> --- a/Documentation/admin-guide/cgroup-v2.rst
> +++ b/Documentation/admin-guide/cgroup-v2.rst
> @@ -1312,6 +1312,11 @@ PAGE_SIZE multiple when read back.
> pagetables
> Amount of memory allocated for page tables.
>
> + secondary_pagetables
> + Amount of memory allocated for secondary page tables,
> + this currently includes KVM mmu allocations on x86
> + and arm64.
Can you please explain what the rationale is for this? We already
account for the (arm64) S2 PTs as a userspace allocation (see
115bae923ac8bb29ee635). You are saying that this is related to a
'workload', but given that the accounting is global, I fail to see how
you can attribute these allocations on a particular VM.
What do you plan to do for IOMMU page tables? After all, they serve
the exact same purpose, and I'd expect these to be handled the same
way (i.e. why is this KVM specific?).
Thanks,
M.
--
Without deviation from the norm, progress is not possible.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Marc Zyngier <maz@kernel.org>
To: Yosry Ahmed <yosryahmed@google.com>
Cc: Tejun Heo <tj@kernel.org>, Johannes Weiner <hannes@cmpxchg.org>,
Zefan Li <lizefan.x@bytedance.com>,
James Morse <james.morse@arm.com>,
Alexandru Elisei <alexandru.elisei@arm.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Sean Christopherson <seanjc@google.com>,
Vitaly Kuznetsov <vkuznets@redhat.com>,
Wanpeng Li <wanpengli@tencent.com>,
Jim Mattson <jmattson@google.com>, Joerg Roedel <joro@8bytes.org>,
Andrew Morton <akpm@linux-foundation.org>,
Michal Hocko <mhocko@kernel.org>,
Roman Gushchin <roman.gushchin@linux.dev>,
Shakeel Butt <shakeelb@google.com>,
Oliver Upton <oupton@google.com>,
cgroups@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org,
linux-mm@kvack.org
Subject: Re: [PATCH v4 1/4] mm: add NR_SECONDARY_PAGETABLE to count secondary page table uses.
Date: Mon, 02 May 2022 11:01:44 +0100 [thread overview]
Message-ID: <87ilqoi77b.wl-maz@kernel.org> (raw)
In-Reply-To: <20220429201131.3397875-2-yosryahmed@google.com>
On Fri, 29 Apr 2022 21:11:28 +0100,
Yosry Ahmed <yosryahmed@google.com> wrote:
>
> Add NR_SECONDARY_PAGETABLE stat to count secondary page table uses, e.g.
> KVM mmu. This provides more insights on the kernel memory used
> by a workload.
>
> This stat will be used by subsequent patches to count KVM mmu
> memory usage.
>
> Signed-off-by: Yosry Ahmed <yosryahmed@google.com>
> ---
> Documentation/admin-guide/cgroup-v2.rst | 5 +++++
> Documentation/filesystems/proc.rst | 4 ++++
> drivers/base/node.c | 2 ++
> fs/proc/meminfo.c | 2 ++
> include/linux/mmzone.h | 1 +
> mm/memcontrol.c | 1 +
> mm/page_alloc.c | 6 +++++-
> mm/vmstat.c | 1 +
> 8 files changed, 21 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/admin-guide/cgroup-v2.rst b/Documentation/admin-guide/cgroup-v2.rst
> index 69d7a6983f78..828cb6b6f918 100644
> --- a/Documentation/admin-guide/cgroup-v2.rst
> +++ b/Documentation/admin-guide/cgroup-v2.rst
> @@ -1312,6 +1312,11 @@ PAGE_SIZE multiple when read back.
> pagetables
> Amount of memory allocated for page tables.
>
> + secondary_pagetables
> + Amount of memory allocated for secondary page tables,
> + this currently includes KVM mmu allocations on x86
> + and arm64.
Can you please explain what the rationale is for this? We already
account for the (arm64) S2 PTs as a userspace allocation (see
115bae923ac8bb29ee635). You are saying that this is related to a
'workload', but given that the accounting is global, I fail to see how
you can attribute these allocations on a particular VM.
What do you plan to do for IOMMU page tables? After all, they serve
the exact same purpose, and I'd expect these to be handled the same
way (i.e. why is this KVM specific?).
Thanks,
M.
--
Without deviation from the norm, progress is not possible.
next prev parent reply other threads:[~2022-05-02 10:01 UTC|newest]
Thread overview: 106+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-29 20:11 [PATCH v4 0/4] KVM: mm: count KVM mmu usage in memory stats Yosry Ahmed
2022-04-29 20:11 ` Yosry Ahmed
2022-04-29 20:11 ` Yosry Ahmed
2022-04-29 20:11 ` Yosry Ahmed
[not found] ` <20220429201131.3397875-1-yosryahmed-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2022-04-29 20:11 ` [PATCH v4 1/4] mm: add NR_SECONDARY_PAGETABLE to count secondary page table uses Yosry Ahmed
2022-04-29 20:11 ` Yosry Ahmed
2022-04-29 20:11 ` Yosry Ahmed
2022-04-29 20:11 ` Yosry Ahmed
2022-05-02 10:01 ` Marc Zyngier [this message]
2022-05-02 10:01 ` Marc Zyngier
2022-05-02 10:01 ` Marc Zyngier
2022-05-02 10:01 ` Marc Zyngier
[not found] ` <87ilqoi77b.wl-maz-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2022-05-02 18:46 ` Yosry Ahmed
2022-05-02 18:46 ` Yosry Ahmed
2022-05-02 18:46 ` Yosry Ahmed
2022-05-02 18:46 ` Yosry Ahmed
[not found] ` <CAJD7tkY7JF25XXUFq2mGroetMkfo-2zGOaQC94pjZE3D42+oaw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2022-05-09 16:38 ` Yosry Ahmed
2022-05-09 16:38 ` Yosry Ahmed
2022-05-09 16:38 ` Yosry Ahmed
2022-05-09 16:38 ` Yosry Ahmed
[not found] ` <CAJD7tkbfT-FRs3LE2GPddqrQSWw_eC1R6k3z04x=z9Zvt5yLpg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2022-05-12 20:36 ` Shakeel Butt
2022-05-12 20:36 ` Shakeel Butt
2022-05-12 20:36 ` Shakeel Butt
2022-05-12 20:36 ` Shakeel Butt
2022-05-12 23:07 ` Johannes Weiner
2022-05-12 23:07 ` Johannes Weiner
2022-05-12 23:07 ` Johannes Weiner
2022-05-12 23:07 ` Johannes Weiner
[not found] ` <Yn2TGJ4vZ/fst+CY-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2022-05-12 23:29 ` Sean Christopherson
2022-05-12 23:29 ` Sean Christopherson
2022-05-12 23:29 ` Sean Christopherson
2022-05-12 23:29 ` Sean Christopherson
[not found] ` <Yn2YYl98Vhh/UL0w-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2022-05-13 15:50 ` Johannes Weiner
2022-05-13 15:50 ` Johannes Weiner
2022-05-13 15:50 ` Johannes Weiner
2022-05-13 15:50 ` Johannes Weiner
2022-05-13 16:12 ` Sean Christopherson
2022-05-13 16:12 ` Sean Christopherson
2022-05-13 16:12 ` Sean Christopherson
2022-05-13 16:12 ` Sean Christopherson
[not found] ` <Yn6DeEGLyR4Q0cDp-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2022-05-13 16:22 ` Yosry Ahmed
2022-05-13 16:22 ` Yosry Ahmed
2022-05-13 16:22 ` Yosry Ahmed
2022-05-13 16:22 ` Yosry Ahmed
2022-05-13 17:13 ` Shakeel Butt
2022-05-13 17:13 ` Shakeel Butt
2022-05-13 17:13 ` Shakeel Butt
2022-05-13 17:13 ` Shakeel Butt
2022-05-20 1:56 ` Yosry Ahmed
2022-05-20 1:56 ` Yosry Ahmed
2022-05-20 1:56 ` Yosry Ahmed
2022-05-20 1:56 ` Yosry Ahmed
[not found] ` <CAJD7tka-5+XRkthNV4qCg8woPCpjcwynQoRBame-3GP1L8y+WQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2022-05-20 14:39 ` Johannes Weiner
2022-05-20 14:39 ` Johannes Weiner
2022-05-20 14:39 ` Johannes Weiner
2022-05-20 14:39 ` Johannes Weiner
[not found] ` <YoeoLJNQTam5fJSu-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2022-05-24 22:31 ` Yosry Ahmed
2022-05-24 22:31 ` Yosry Ahmed
2022-05-24 22:31 ` Yosry Ahmed
2022-05-24 22:31 ` Yosry Ahmed
[not found] ` <CAJD7tkYjcmwBeUx-=MTQeUf78uqFDvfpy7OuKy4OvoS7HiVO1Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2022-05-25 11:56 ` Johannes Weiner
2022-05-25 11:56 ` Johannes Weiner
2022-05-25 11:56 ` Johannes Weiner
2022-05-25 11:56 ` Johannes Weiner
2022-05-26 0:38 ` Sean Christopherson
2022-05-26 0:38 ` Sean Christopherson
2022-05-26 0:38 ` Sean Christopherson
2022-05-26 0:38 ` Sean Christopherson
[not found] ` <Yo7MHA2aUaprvgl8-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2022-05-27 18:33 ` Yosry Ahmed
2022-05-27 18:33 ` Yosry Ahmed
2022-05-27 18:33 ` Yosry Ahmed
2022-05-27 18:33 ` Yosry Ahmed
[not found] ` <CAJD7tkYoz=rYvBV3tcp4aLgiyEtr-sBwbncFduZsOq+c8wk5sA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2022-06-03 16:42 ` Johannes Weiner
2022-06-03 16:42 ` Johannes Weiner
2022-06-03 16:42 ` Johannes Weiner
2022-06-03 16:42 ` Johannes Weiner
2022-04-29 20:11 ` [PATCH v4 2/4] KVM: mmu: add a helper to account memory used by KVM mmu Yosry Ahmed
2022-04-29 20:11 ` Yosry Ahmed
2022-04-29 20:11 ` Yosry Ahmed
2022-04-29 20:11 ` Yosry Ahmed
2022-04-29 20:11 ` [PATCH v4 3/4] KVM: x86/mmu: count KVM mmu usage in secondary pagetable stats Yosry Ahmed
2022-04-29 20:11 ` Yosry Ahmed
2022-04-29 20:11 ` Yosry Ahmed
2022-04-29 20:11 ` Yosry Ahmed
[not found] ` <20220429201131.3397875-4-yosryahmed-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2022-07-22 20:58 ` Mingwei Zhang
2022-07-22 20:58 ` Mingwei Zhang
2022-07-22 20:58 ` Mingwei Zhang
2022-07-22 20:58 ` Mingwei Zhang
[not found] ` <YtsPk5+hZNMEwT0c-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2022-07-26 18:03 ` Sean Christopherson
2022-07-26 18:03 ` Sean Christopherson
2022-07-26 18:03 ` Sean Christopherson
2022-07-26 18:03 ` Sean Christopherson
2022-04-29 20:11 ` [PATCH v4 4/4] KVM: arm64/mmu: count KVM s2 " Yosry Ahmed
2022-04-29 20:11 ` Yosry Ahmed
2022-04-29 20:11 ` Yosry Ahmed
2022-04-29 20:11 ` Yosry Ahmed
2022-05-02 7:24 ` Oliver Upton
2022-05-02 7:24 ` Oliver Upton
2022-05-02 7:24 ` Oliver Upton
2022-05-02 7:24 ` Oliver Upton
2022-05-02 9:49 ` Marc Zyngier
2022-05-02 9:49 ` Marc Zyngier
2022-05-02 9:49 ` Marc Zyngier
2022-05-02 9:49 ` Marc Zyngier
2022-05-02 16:41 ` Yosry Ahmed
2022-05-02 16:41 ` Yosry Ahmed
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=87ilqoi77b.wl-maz@kernel.org \
--to=maz@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=cgroups@vger.kernel.org \
--cc=hannes@cmpxchg.org \
--cc=jmattson@google.com \
--cc=joro@8bytes.org \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lizefan.x@bytedance.com \
--cc=mhocko@kernel.org \
--cc=pbonzini@redhat.com \
--cc=roman.gushchin@linux.dev \
--cc=shakeelb@google.com \
--cc=tj@kernel.org \
--cc=vkuznets@redhat.com \
--cc=wanpengli@tencent.com \
--cc=yosryahmed@google.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 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.