All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lee Jones <lee.jones@linaro.org>
To: lee.jones@linaro.org
Cc: linux-kernel@vger.kernel.org,
	"Harry Wentland" <harry.wentland@amd.com>,
	"Leo Li" <sunpeng.li@amd.com>,
	"Alex Deucher" <alexander.deucher@amd.com>,
	"Christian König" <christian.koenig@amd.com>,
	"David Airlie" <airlied@linux.ie>,
	"Daniel Vetter" <daniel@ffwll.ch>,
	"Colin Ian King" <colin.king@canonical.com>,
	amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org
Subject: [PATCH 06/19] drm/amd/display/dc/calcs/dce_calcs: Move some large variables from the stack to the heap
Date: Fri, 19 Mar 2021 08:24:15 +0000	[thread overview]
Message-ID: <20210319082428.3294591-7-lee.jones@linaro.org> (raw)
In-Reply-To: <20210319082428.3294591-1-lee.jones@linaro.org>

Fixes the following W=1 kernel build warning(s):

 drivers/gpu/drm/amd/amdgpu/../display/dc/calcs/dce_calcs.c: In function ‘calculate_bandwidth’:
 drivers/gpu/drm/amd/amdgpu/../display/dc/calcs/dce_calcs.c:2016:1: warning: the frame size of 1216 bytes is larger than 1024 bytes [-Wframe-larger-than=]

Cc: Harry Wentland <harry.wentland@amd.com>
Cc: Leo Li <sunpeng.li@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Colin Ian King <colin.king@canonical.com>
Cc: amd-gfx@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 .../gpu/drm/amd/display/dc/calcs/dce_calcs.c  | 32 ++++++++++++++++---
 1 file changed, 28 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c b/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
index e633f8a51edb6..9d8f2505a61c2 100644
--- a/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
+++ b/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
@@ -98,16 +98,16 @@ static void calculate_bandwidth(
 	int32_t num_cursor_lines;
 
 	int32_t i, j, k;
-	struct bw_fixed yclk[3];
-	struct bw_fixed sclk[8];
+	struct bw_fixed *yclk;
+	struct bw_fixed *sclk;
 	bool d0_underlay_enable;
 	bool d1_underlay_enable;
 	bool fbc_enabled;
 	bool lpt_enabled;
 	enum bw_defines sclk_message;
 	enum bw_defines yclk_message;
-	enum bw_defines tiling_mode[maximum_number_of_surfaces];
-	enum bw_defines surface_type[maximum_number_of_surfaces];
+	enum bw_defines *tiling_mode;
+	enum bw_defines *surface_type;
 	enum bw_defines voltage;
 	enum bw_defines pipe_check;
 	enum bw_defines hsr_check;
@@ -122,6 +122,22 @@ static void calculate_bandwidth(
 	int32_t number_of_displays_enabled_with_margin = 0;
 	int32_t number_of_aligned_displays_with_no_margin = 0;
 
+	yclk = kcalloc(3, sizeof(*yclk), GFP_KERNEL);
+	if (!yclk)
+		return;
+
+	sclk = kcalloc(8, sizeof(*sclk), GFP_KERNEL);
+	if (!sclk)
+		goto free_yclk;
+
+	tiling_mode = kcalloc(maximum_number_of_surfaces, sizeof(*tiling_mode), GFP_KERNEL);
+	if (!tiling_mode)
+		goto free_sclk;
+
+	surface_type = kcalloc(maximum_number_of_surfaces, sizeof(*surface_type), GFP_KERNEL);
+	if (!surface_type)
+		goto free_tiling_mode;
+
 	yclk[low] = vbios->low_yclk;
 	yclk[mid] = vbios->mid_yclk;
 	yclk[high] = vbios->high_yclk;
@@ -2013,6 +2029,14 @@ static void calculate_bandwidth(
 			}
 		}
 	}
+
+	kfree(surface_type);
+free_tiling_mode:
+	kfree(tiling_mode);
+free_yclk:
+	kfree(yclk);
+free_sclk:
+	kfree(sclk);
 }
 
 /*******************************************************************************
-- 
2.27.0


WARNING: multiple messages have this Message-ID (diff)
From: Lee Jones <lee.jones@linaro.org>
To: lee.jones@linaro.org
Cc: "Leo Li" <sunpeng.li@amd.com>,
	linux-kernel@vger.kernel.org, amd-gfx@lists.freedesktop.org,
	"David Airlie" <airlied@linux.ie>,
	dri-devel@lists.freedesktop.org,
	"Alex Deucher" <alexander.deucher@amd.com>,
	"Colin Ian King" <colin.king@canonical.com>,
	"Christian König" <christian.koenig@amd.com>
Subject: [PATCH 06/19] drm/amd/display/dc/calcs/dce_calcs: Move some large variables from the stack to the heap
Date: Fri, 19 Mar 2021 08:24:15 +0000	[thread overview]
Message-ID: <20210319082428.3294591-7-lee.jones@linaro.org> (raw)
In-Reply-To: <20210319082428.3294591-1-lee.jones@linaro.org>

Fixes the following W=1 kernel build warning(s):

 drivers/gpu/drm/amd/amdgpu/../display/dc/calcs/dce_calcs.c: In function ‘calculate_bandwidth’:
 drivers/gpu/drm/amd/amdgpu/../display/dc/calcs/dce_calcs.c:2016:1: warning: the frame size of 1216 bytes is larger than 1024 bytes [-Wframe-larger-than=]

Cc: Harry Wentland <harry.wentland@amd.com>
Cc: Leo Li <sunpeng.li@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Colin Ian King <colin.king@canonical.com>
Cc: amd-gfx@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 .../gpu/drm/amd/display/dc/calcs/dce_calcs.c  | 32 ++++++++++++++++---
 1 file changed, 28 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c b/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
index e633f8a51edb6..9d8f2505a61c2 100644
--- a/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
+++ b/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
@@ -98,16 +98,16 @@ static void calculate_bandwidth(
 	int32_t num_cursor_lines;
 
 	int32_t i, j, k;
-	struct bw_fixed yclk[3];
-	struct bw_fixed sclk[8];
+	struct bw_fixed *yclk;
+	struct bw_fixed *sclk;
 	bool d0_underlay_enable;
 	bool d1_underlay_enable;
 	bool fbc_enabled;
 	bool lpt_enabled;
 	enum bw_defines sclk_message;
 	enum bw_defines yclk_message;
-	enum bw_defines tiling_mode[maximum_number_of_surfaces];
-	enum bw_defines surface_type[maximum_number_of_surfaces];
+	enum bw_defines *tiling_mode;
+	enum bw_defines *surface_type;
 	enum bw_defines voltage;
 	enum bw_defines pipe_check;
 	enum bw_defines hsr_check;
@@ -122,6 +122,22 @@ static void calculate_bandwidth(
 	int32_t number_of_displays_enabled_with_margin = 0;
 	int32_t number_of_aligned_displays_with_no_margin = 0;
 
+	yclk = kcalloc(3, sizeof(*yclk), GFP_KERNEL);
+	if (!yclk)
+		return;
+
+	sclk = kcalloc(8, sizeof(*sclk), GFP_KERNEL);
+	if (!sclk)
+		goto free_yclk;
+
+	tiling_mode = kcalloc(maximum_number_of_surfaces, sizeof(*tiling_mode), GFP_KERNEL);
+	if (!tiling_mode)
+		goto free_sclk;
+
+	surface_type = kcalloc(maximum_number_of_surfaces, sizeof(*surface_type), GFP_KERNEL);
+	if (!surface_type)
+		goto free_tiling_mode;
+
 	yclk[low] = vbios->low_yclk;
 	yclk[mid] = vbios->mid_yclk;
 	yclk[high] = vbios->high_yclk;
@@ -2013,6 +2029,14 @@ static void calculate_bandwidth(
 			}
 		}
 	}
+
+	kfree(surface_type);
+free_tiling_mode:
+	kfree(tiling_mode);
+free_yclk:
+	kfree(yclk);
+free_sclk:
+	kfree(sclk);
 }
 
 /*******************************************************************************
-- 
2.27.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

WARNING: multiple messages have this Message-ID (diff)
From: Lee Jones <lee.jones@linaro.org>
To: lee.jones@linaro.org
Cc: "Leo Li" <sunpeng.li@amd.com>,
	linux-kernel@vger.kernel.org, amd-gfx@lists.freedesktop.org,
	"David Airlie" <airlied@linux.ie>,
	dri-devel@lists.freedesktop.org,
	"Daniel Vetter" <daniel@ffwll.ch>,
	"Alex Deucher" <alexander.deucher@amd.com>,
	"Colin Ian King" <colin.king@canonical.com>,
	"Harry Wentland" <harry.wentland@amd.com>,
	"Christian König" <christian.koenig@amd.com>
Subject: [PATCH 06/19] drm/amd/display/dc/calcs/dce_calcs: Move some large variables from the stack to the heap
Date: Fri, 19 Mar 2021 08:24:15 +0000	[thread overview]
Message-ID: <20210319082428.3294591-7-lee.jones@linaro.org> (raw)
In-Reply-To: <20210319082428.3294591-1-lee.jones@linaro.org>

Fixes the following W=1 kernel build warning(s):

 drivers/gpu/drm/amd/amdgpu/../display/dc/calcs/dce_calcs.c: In function ‘calculate_bandwidth’:
 drivers/gpu/drm/amd/amdgpu/../display/dc/calcs/dce_calcs.c:2016:1: warning: the frame size of 1216 bytes is larger than 1024 bytes [-Wframe-larger-than=]

Cc: Harry Wentland <harry.wentland@amd.com>
Cc: Leo Li <sunpeng.li@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Colin Ian King <colin.king@canonical.com>
Cc: amd-gfx@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 .../gpu/drm/amd/display/dc/calcs/dce_calcs.c  | 32 ++++++++++++++++---
 1 file changed, 28 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c b/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
index e633f8a51edb6..9d8f2505a61c2 100644
--- a/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
+++ b/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
@@ -98,16 +98,16 @@ static void calculate_bandwidth(
 	int32_t num_cursor_lines;
 
 	int32_t i, j, k;
-	struct bw_fixed yclk[3];
-	struct bw_fixed sclk[8];
+	struct bw_fixed *yclk;
+	struct bw_fixed *sclk;
 	bool d0_underlay_enable;
 	bool d1_underlay_enable;
 	bool fbc_enabled;
 	bool lpt_enabled;
 	enum bw_defines sclk_message;
 	enum bw_defines yclk_message;
-	enum bw_defines tiling_mode[maximum_number_of_surfaces];
-	enum bw_defines surface_type[maximum_number_of_surfaces];
+	enum bw_defines *tiling_mode;
+	enum bw_defines *surface_type;
 	enum bw_defines voltage;
 	enum bw_defines pipe_check;
 	enum bw_defines hsr_check;
@@ -122,6 +122,22 @@ static void calculate_bandwidth(
 	int32_t number_of_displays_enabled_with_margin = 0;
 	int32_t number_of_aligned_displays_with_no_margin = 0;
 
+	yclk = kcalloc(3, sizeof(*yclk), GFP_KERNEL);
+	if (!yclk)
+		return;
+
+	sclk = kcalloc(8, sizeof(*sclk), GFP_KERNEL);
+	if (!sclk)
+		goto free_yclk;
+
+	tiling_mode = kcalloc(maximum_number_of_surfaces, sizeof(*tiling_mode), GFP_KERNEL);
+	if (!tiling_mode)
+		goto free_sclk;
+
+	surface_type = kcalloc(maximum_number_of_surfaces, sizeof(*surface_type), GFP_KERNEL);
+	if (!surface_type)
+		goto free_tiling_mode;
+
 	yclk[low] = vbios->low_yclk;
 	yclk[mid] = vbios->mid_yclk;
 	yclk[high] = vbios->high_yclk;
@@ -2013,6 +2029,14 @@ static void calculate_bandwidth(
 			}
 		}
 	}
+
+	kfree(surface_type);
+free_tiling_mode:
+	kfree(tiling_mode);
+free_yclk:
+	kfree(yclk);
+free_sclk:
+	kfree(sclk);
 }
 
 /*******************************************************************************
-- 
2.27.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

  parent reply	other threads:[~2021-03-19  8:25 UTC|newest]

Thread overview: 122+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-19  8:24 [RESEND 00/19] Rid GPU from W=1 warnings Lee Jones
2021-03-19  8:24 ` Lee Jones
2021-03-19  8:24 ` Lee Jones
2021-03-19  8:24 ` [Nouveau] " Lee Jones
2021-03-19  8:24 ` [PATCH 01/19] drm/nouveau/nvkm/subdev/bios/init: Demote obvious abuse of kernel-doc Lee Jones
2021-03-19  8:24   ` Lee Jones
2021-03-19  8:24   ` [Nouveau] " Lee Jones
2021-03-19  9:54   ` Karol Herbst
2021-03-19  9:54     ` Karol Herbst
2021-03-19  9:54     ` [Nouveau] " Karol Herbst
2021-03-19  8:24 ` [PATCH 02/19] drm/nouveau/dispnv50/disp: Remove unused variable 'ret' Lee Jones
2021-03-19  8:24   ` Lee Jones
2021-03-19  8:24   ` [Nouveau] " Lee Jones
2021-03-19  8:24 ` [PATCH 03/19] drm/msm/dp/dp_display: Remove unused variable 'hpd' Lee Jones
2021-03-19  8:24   ` Lee Jones
2021-03-19  8:24 ` [PATCH 04/19] include: drm: drm_atomic: Make use of 'new_plane_state' Lee Jones
2021-03-19  8:24   ` Lee Jones
2021-03-19 13:52   ` Ville Syrjälä
2021-03-19 13:52     ` Ville Syrjälä
2021-03-19  8:24 ` [PATCH 05/19] drm/nouveau/nvkm/subdev/volt/gk20a: Demote non-conformant kernel-doc headers Lee Jones
2021-03-19  8:24   ` Lee Jones
2021-03-19  8:24   ` [Nouveau] " Lee Jones
2021-03-19  9:55   ` Karol Herbst
2021-03-19  9:55     ` Karol Herbst
2021-03-19  9:55     ` [Nouveau] " Karol Herbst
2021-03-19  8:24 ` Lee Jones [this message]
2021-03-19  8:24   ` [PATCH 06/19] drm/amd/display/dc/calcs/dce_calcs: Move some large variables from the stack to the heap Lee Jones
2021-03-19  8:24   ` Lee Jones
2021-03-19 18:13   ` Alex Deucher
2021-03-19 18:13     ` Alex Deucher
2021-03-19 18:13     ` Alex Deucher
2021-03-19 18:26     ` Harry Wentland
2021-03-19 18:26       ` Harry Wentland
2021-03-19 18:26       ` Harry Wentland
2021-03-19 18:31       ` Alex Deucher
2021-03-19 18:31         ` Alex Deucher
2021-03-19 18:31         ` Alex Deucher
2021-03-19 18:46       ` Christian König
2021-03-19 18:46         ` Christian König
2021-03-19 18:46         ` Christian König
2021-03-19 19:31         ` Alex Deucher
2021-03-19 19:31           ` Alex Deucher
2021-03-19 19:31           ` Alex Deucher
2021-03-19  8:24 ` [PATCH 07/19] drm/amd/display/dc/calcs/dce_calcs: Remove some large variables from the stack Lee Jones
2021-03-19  8:24   ` Lee Jones
2021-03-19  8:24   ` Lee Jones
2021-03-20 20:38   ` kernel test robot
2021-03-20 20:39   ` [PATCH] drm/amd/display/dc/calcs/dce_calcs: fix noderef.cocci warnings kernel test robot
2021-03-19  8:24 ` [PATCH 08/19] drm/amd/display/dc/dce80/dce80_resource: Make local functions static Lee Jones
2021-03-19  8:24   ` Lee Jones
2021-03-19  8:24   ` Lee Jones
2021-03-19 18:24   ` Alex Deucher
2021-03-19 18:24     ` Alex Deucher
2021-03-19 18:24     ` Alex Deucher
2021-03-19 18:25   ` Harry Wentland
2021-03-19 18:25     ` Harry Wentland
2021-03-19 18:25     ` Harry Wentland
2021-03-19  8:24 ` [PATCH 09/19] drm/nouveau/nvkm/engine/gr/gf100: Demote non-conformant kernel-doc header Lee Jones
2021-03-19  8:24   ` Lee Jones
2021-03-19  8:24   ` [Nouveau] " Lee Jones
2021-03-19  9:55   ` Karol Herbst
2021-03-19  9:55     ` Karol Herbst
2021-03-19  9:55     ` [Nouveau] " Karol Herbst
2021-03-19  8:24 ` [PATCH 10/19] drm/nouveau/nouveau_bo: Remove unused variables 'dev' Lee Jones
2021-03-19  8:24   ` Lee Jones
2021-03-19  8:24   ` [Nouveau] " Lee Jones
2021-03-19  9:56   ` Karol Herbst
2021-03-19  9:56     ` Karol Herbst
2021-03-19  9:56     ` [Nouveau] " Karol Herbst
2021-03-19  8:24 ` [PATCH 11/19] drm/nouveau/nouveau_display: Remove set but unused variable 'width' Lee Jones
2021-03-19  8:24   ` Lee Jones
2021-03-19  8:24   ` [Nouveau] " Lee Jones
2021-03-19  8:24 ` [PATCH 12/19] drm/nouveau/dispnv04/crtc: Demote non-conforming kernel-doc headers Lee Jones
2021-03-19  8:24   ` Lee Jones
2021-03-19  8:24   ` [Nouveau] " Lee Jones
2021-03-19  9:57   ` Karol Herbst
2021-03-19  9:57     ` Karol Herbst
2021-03-19  9:57     ` [Nouveau] " Karol Herbst
2021-03-19  8:24 ` [PATCH 13/19] drm/nouveau/dispnv50/disp: Remove unused variable 'ret' from function returning void Lee Jones
2021-03-19  8:24   ` Lee Jones
2021-03-19  8:24   ` [Nouveau] " Lee Jones
2021-03-19  8:24 ` [PATCH 14/19] drm/nouveau/dispnv50/headc57d: Make local function 'headc57d_olut' static Lee Jones
2021-03-19  8:24   ` Lee Jones
2021-03-19  8:24   ` [Nouveau] " Lee Jones
2021-03-19  9:58   ` Karol Herbst
2021-03-19  9:58     ` Karol Herbst
2021-03-19  9:58     ` [Nouveau] " Karol Herbst
2021-03-19 17:36   ` Lyude Paul
2021-03-19 17:36     ` Lyude Paul
2021-03-19 17:36     ` [Nouveau] " Lyude Paul
2021-03-19  8:24 ` [PATCH 15/19] drm/nouveau/nv50_display: Remove superfluous prototype for local static functions Lee Jones
2021-03-19  8:24   ` Lee Jones
2021-03-19  8:24   ` [Nouveau] " Lee Jones
2021-03-19  9:56   ` Karol Herbst
2021-03-19  9:56     ` Karol Herbst
2021-03-19  9:56     ` [Nouveau] " Karol Herbst
2021-03-19  8:24 ` [PATCH 16/19] drm/nouveau/dispnv50/disp: Include header containing our prototypes Lee Jones
2021-03-19  8:24   ` Lee Jones
2021-03-19  8:24   ` [Nouveau] " Lee Jones
2021-03-19  8:24 ` [PATCH 17/19] drm/nouveau/nouveau_ioc32: File headers are not good candidates for kernel-doc Lee Jones
2021-03-19  8:24   ` Lee Jones
2021-03-19  8:24   ` [Nouveau] " Lee Jones
2021-03-19  9:57   ` Karol Herbst
2021-03-19  9:57     ` Karol Herbst
2021-03-19  9:57     ` [Nouveau] " Karol Herbst
2021-03-19  8:24 ` [PATCH 18/19] drm/nouveau/nouveau_svm: Remove unused variable 'ret' from void function Lee Jones
2021-03-19  8:24   ` Lee Jones
2021-03-19  8:24   ` [Nouveau] " Lee Jones
2021-03-19  8:24 ` [PATCH 19/19] drm/nouveau/nouveau_ioc32: Demote kernel-doc abuse to standard comment block Lee Jones
2021-03-19  8:24   ` Lee Jones
2021-03-19  8:24   ` [Nouveau] " Lee Jones
2021-03-19  9:57   ` Karol Herbst
2021-03-19  9:57     ` Karol Herbst
2021-03-19  9:57     ` [Nouveau] " Karol Herbst
2021-03-24 10:36 ` [RESEND 00/19] Rid GPU from W=1 warnings Lee Jones
2021-03-24 10:36   ` Lee Jones
2021-03-24 10:36   ` Lee Jones
2021-03-24 10:36   ` [Nouveau] " Lee Jones
2021-03-30 15:19   ` Lee Jones
2021-03-30 15:19     ` Lee Jones
2021-03-30 15:19     ` Lee Jones
2021-03-30 15:19     ` [Nouveau] " Lee Jones

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=20210319082428.3294591-7-lee.jones@linaro.org \
    --to=lee.jones@linaro.org \
    --cc=airlied@linux.ie \
    --cc=alexander.deucher@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=christian.koenig@amd.com \
    --cc=colin.king@canonical.com \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=harry.wentland@amd.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sunpeng.li@amd.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.