All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Rientjes <rientjes@google.com>
To: Vlastimil Babka <vbabka@suse.cz>
Cc: Christoph Lameter <cl@linux.com>,
	Pekka Enberg <penberg@kernel.org>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	Roman Gushchin <roman.gushchin@linux.dev>,
	Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	Shawn Guo <shawnguo@kernel.org>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Vladimir Zapolskiy <vz@mleia.com>, Andrew Lunn <andrew@lunn.ch>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Tony Lindgren <tony@atomide.com>, Qin Jian <qinjian@cqplus1.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Dinh Nguyen <dinguyen@kernel.org>,
	"James E . J . Bottomley" <James.Bottomley@hansenpartnership.com>,
	Helge Deller <deller@gmx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S . Miller" <davem@davemloft.net>,
	Richard Weinberger <richard@nod.at>,
	Anton Ivanov <anton.ivanov@cambridgegreys.com>,
	Johannes Berg <johannes@sipsolutions.net>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-snps-arc@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org,
	linux-renesas-soc@vger.kernel.org, linux-tegra@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org, sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org, linux-mm@kvack.org
Subject: Re: [PATCH] mm/slab: rename CONFIG_SLAB to CONFIG_SLAB_DEPRECATED
Date: Tue, 23 May 2023 17:29:17 -0700 (PDT)	[thread overview]
Message-ID: <be109b49-8510-5887-72ae-738db9945619@google.com> (raw)
In-Reply-To: <20230523091139.21449-1-vbabka@suse.cz>

On Tue, 23 May 2023, Vlastimil Babka wrote:

> As discussed at LSF/MM [1] [2] and with no objections raised there,
> deprecate the SLAB allocator. Rename the user-visible option so that
> users with CONFIG_SLAB=y get a new prompt with explanation during make
> oldconfig, while make olddefconfig will just switch to SLUB.
> 
> In all defconfigs with CONFIG_SLAB=y remove the line so those also
> switch to SLUB. Regressions due to the switch should be reported to
> linux-mm and slab maintainers.
> 
> [1] https://lore.kernel.org/all/4b9fc9c6-b48c-198f-5f80-811a44737e5f@suse.cz/
> [2] https://lwn.net/Articles/932201/
> 
> Signed-off-by: Vlastimil Babka <vbabka@suse.cz>

Acked-by: David Rientjes <rientjes@google.com>

The Kconfig option says that SLAB will be removed in a few cycles.  I 
think we should wait until at least the next LTS kernel is forked at the 
end of the year so that users who upgrade to only the LTS releases can be 
prompted for this change and surface any concerns.  Slab allocation is a 
critical subsystem, so I presume this is the safest and most responsible 
way to do the SLAB deprecation.  Hopefully that timeline works for 
everybody.

WARNING: multiple messages have this Message-ID (diff)
From: David Rientjes <rientjes@google.com>
To: Vlastimil Babka <vbabka@suse.cz>
Cc: Christoph Lameter <cl@linux.com>,
	Pekka Enberg <penberg@kernel.org>,
	 Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	 Roman Gushchin <roman.gushchin@linux.dev>,
	 Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	Shawn Guo <shawnguo@kernel.org>,
	 Sascha Hauer <s.hauer@pengutronix.de>,
	Vladimir Zapolskiy <vz@mleia.com>,  Andrew Lunn <andrew@lunn.ch>,
	 Gregory Clement <gregory.clement@bootlin.com>,
	 Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	 Tony Lindgren <tony@atomide.com>, Qin Jian <qinjian@cqplus1.com>,
	 Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	 Dinh Nguyen <dinguyen@kernel.org>,
	 "James E . J . Bottomley"
	<James.Bottomley@hansenpartnership.com>,
	 Helge Deller <deller@gmx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	 Rich Felker <dalias@libc.org>,
	 John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	 "David S . Miller" <davem@davemloft.net>,
	 Richard Weinberger <richard@nod.at>,
	 Anton Ivanov <anton.ivanov@cambridgegreys.com>,
	 Johannes Berg <johannes@sipsolutions.net>,
	 Andrew Morton <akpm@linux-foundation.org>,
	 linux-snps-arc@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	 linux-omap@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
	 linux-tegra@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	 linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
	 linuxppc-dev@lists.ozlabs.org, linux-sh@vger.kernel.org,
	 sparclinux@vger.kernel.org, linux-um@lists.infradead.org,
	 linux-mm@kvack.org
Subject: Re: [PATCH] mm/slab: rename CONFIG_SLAB to CONFIG_SLAB_DEPRECATED
Date: Tue, 23 May 2023 17:29:17 -0700 (PDT)	[thread overview]
Message-ID: <be109b49-8510-5887-72ae-738db9945619@google.com> (raw)
In-Reply-To: <20230523091139.21449-1-vbabka@suse.cz>

On Tue, 23 May 2023, Vlastimil Babka wrote:

> As discussed at LSF/MM [1] [2] and with no objections raised there,
> deprecate the SLAB allocator. Rename the user-visible option so that
> users with CONFIG_SLAB=y get a new prompt with explanation during make
> oldconfig, while make olddefconfig will just switch to SLUB.
> 
> In all defconfigs with CONFIG_SLAB=y remove the line so those also
> switch to SLUB. Regressions due to the switch should be reported to
> linux-mm and slab maintainers.
> 
> [1] https://lore.kernel.org/all/4b9fc9c6-b48c-198f-5f80-811a44737e5f@suse.cz/
> [2] https://lwn.net/Articles/932201/
> 
> Signed-off-by: Vlastimil Babka <vbabka@suse.cz>

Acked-by: David Rientjes <rientjes@google.com>

The Kconfig option says that SLAB will be removed in a few cycles.  I 
think we should wait until at least the next LTS kernel is forked at the 
end of the year so that users who upgrade to only the LTS releases can be 
prompted for this change and surface any concerns.  Slab allocation is a 
critical subsystem, so I presume this is the safest and most responsible 
way to do the SLAB deprecation.  Hopefully that timeline works for 
everybody.

_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc

WARNING: multiple messages have this Message-ID (diff)
From: David Rientjes <rientjes@google.com>
To: Vlastimil Babka <vbabka@suse.cz>
Cc: Christoph Lameter <cl@linux.com>,
	Pekka Enberg <penberg@kernel.org>,
	 Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	 Roman Gushchin <roman.gushchin@linux.dev>,
	 Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	Shawn Guo <shawnguo@kernel.org>,
	 Sascha Hauer <s.hauer@pengutronix.de>,
	Vladimir Zapolskiy <vz@mleia.com>,  Andrew Lunn <andrew@lunn.ch>,
	 Gregory Clement <gregory.clement@bootlin.com>,
	 Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	 Tony Lindgren <tony@atomide.com>, Qin Jian <qinjian@cqplus1.com>,
	 Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	 Dinh Nguyen <dinguyen@kernel.org>,
	 "James E . J . Bottomley"
	<James.Bottomley@hansenpartnership.com>,
	 Helge Deller <deller@gmx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	 Rich Felker <dalias@libc.org>,
	 John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	 "David S . Miller" <davem@davemloft.net>,
	 Richard Weinberger <richard@nod.at>,
	 Anton Ivanov <anton.ivanov@cambridgegreys.com>,
	 Johannes Berg <johannes@sipsolutions.net>,
	 Andrew Morton <akpm@linux-foundation.org>,
	 linux-snps-arc@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	 linux-omap@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
	 linux-tegra@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	 linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
	 linuxppc-dev@lists.ozlabs.org, linux-sh@vger.kernel.org,
	 sparclinux@vger.kernel.org, linux-um@lists.infradead.org,
	 linux-mm@kvack.org
Subject: Re: [PATCH] mm/slab: rename CONFIG_SLAB to CONFIG_SLAB_DEPRECATED
Date: Tue, 23 May 2023 17:29:17 -0700 (PDT)	[thread overview]
Message-ID: <be109b49-8510-5887-72ae-738db9945619@google.com> (raw)
In-Reply-To: <20230523091139.21449-1-vbabka@suse.cz>

On Tue, 23 May 2023, Vlastimil Babka wrote:

> As discussed at LSF/MM [1] [2] and with no objections raised there,
> deprecate the SLAB allocator. Rename the user-visible option so that
> users with CONFIG_SLAB=y get a new prompt with explanation during make
> oldconfig, while make olddefconfig will just switch to SLUB.
> 
> In all defconfigs with CONFIG_SLAB=y remove the line so those also
> switch to SLUB. Regressions due to the switch should be reported to
> linux-mm and slab maintainers.
> 
> [1] https://lore.kernel.org/all/4b9fc9c6-b48c-198f-5f80-811a44737e5f@suse.cz/
> [2] https://lwn.net/Articles/932201/
> 
> Signed-off-by: Vlastimil Babka <vbabka@suse.cz>

Acked-by: David Rientjes <rientjes@google.com>

The Kconfig option says that SLAB will be removed in a few cycles.  I 
think we should wait until at least the next LTS kernel is forked at the 
end of the year so that users who upgrade to only the LTS releases can be 
prompted for this change and surface any concerns.  Slab allocation is a 
critical subsystem, so I presume this is the safest and most responsible 
way to do the SLAB deprecation.  Hopefully that timeline works for 
everybody.

_______________________________________________
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: David Rientjes <rientjes@google.com>
To: Vlastimil Babka <vbabka@suse.cz>
Cc: Christoph Lameter <cl@linux.com>,
	Pekka Enberg <penberg@kernel.org>,
	 Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	 Roman Gushchin <roman.gushchin@linux.dev>,
	 Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	Shawn Guo <shawnguo@kernel.org>,
	 Sascha Hauer <s.hauer@pengutronix.de>,
	Vladimir Zapolskiy <vz@mleia.com>,  Andrew Lunn <andrew@lunn.ch>,
	 Gregory Clement <gregory.clement@bootlin.com>,
	 Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	 Tony Lindgren <tony@atomide.com>, Qin Jian <qinjian@cqplus1.com>,
	 Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	 Dinh Nguyen <dinguyen@kernel.org>,
	 "James E . J . Bottomley"
	<James.Bottomley@hansenpartnership.com>,
	 Helge Deller <deller@gmx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	 Rich Felker <dalias@libc.org>,
	 John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	 "David S . Miller" <davem@davemloft.net>,
	 Richard Weinberger <richard@nod.at>,
	 Anton Ivanov <anton.ivanov@cambridgegreys.com>,
	 Johannes Berg <johannes@sipsolutions.net>,
	 Andrew Morton <akpm@linux-foundation.org>,
	 linux-snps-arc@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	 linux-omap@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
	 linux-tegra@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	 linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
	 linuxppc-dev@lists.ozlabs.org, linux-sh@vger.kernel.org,
	 sparclinux@vger.kernel.org, linux-um@lists.infradead.org,
	 linux-mm@kvack.org
Subject: Re: [PATCH] mm/slab: rename CONFIG_SLAB to CONFIG_SLAB_DEPRECATED
Date: Tue, 23 May 2023 17:29:17 -0700 (PDT)	[thread overview]
Message-ID: <be109b49-8510-5887-72ae-738db9945619@google.com> (raw)
In-Reply-To: <20230523091139.21449-1-vbabka@suse.cz>

On Tue, 23 May 2023, Vlastimil Babka wrote:

> As discussed at LSF/MM [1] [2] and with no objections raised there,
> deprecate the SLAB allocator. Rename the user-visible option so that
> users with CONFIG_SLAB=y get a new prompt with explanation during make
> oldconfig, while make olddefconfig will just switch to SLUB.
> 
> In all defconfigs with CONFIG_SLAB=y remove the line so those also
> switch to SLUB. Regressions due to the switch should be reported to
> linux-mm and slab maintainers.
> 
> [1] https://lore.kernel.org/all/4b9fc9c6-b48c-198f-5f80-811a44737e5f@suse.cz/
> [2] https://lwn.net/Articles/932201/
> 
> Signed-off-by: Vlastimil Babka <vbabka@suse.cz>

Acked-by: David Rientjes <rientjes@google.com>

The Kconfig option says that SLAB will be removed in a few cycles.  I 
think we should wait until at least the next LTS kernel is forked at the 
end of the year so that users who upgrade to only the LTS releases can be 
prompted for this change and surface any concerns.  Slab allocation is a 
critical subsystem, so I presume this is the safest and most responsible 
way to do the SLAB deprecation.  Hopefully that timeline works for 
everybody.

_______________________________________________
linux-um mailing list
linux-um@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-um

WARNING: multiple messages have this Message-ID (diff)
From: David Rientjes <rientjes@google.com>
To: Vlastimil Babka <vbabka@suse.cz>
Cc: Andrew Lunn <andrew@lunn.ch>, Rich Felker <dalias@libc.org>,
	linux-sh@vger.kernel.org, Tony Lindgren <tony@atomide.com>,
	Roman Gushchin <roman.gushchin@linux.dev>,
	"James E . J . Bottomley" <James.Bottomley@hansenpartnership.com>,
	linux-mm@kvack.org, Helge Deller <deller@gmx.de>,
	sparclinux@vger.kernel.org, Hyeonggon Yoo <42.hyeyoo@gmail.com>,
	Christoph Lameter <cl@linux.com>,
	Anton Ivanov <anton.ivanov@cambridgegreys.com>,
	linux-renesas-soc@vger.kernel.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Richard Weinberger <richard@nod.at>,
	Gregory Clement <gregory.clement@bootlin.com>,
	linux-snps-arc@lists.infradead.org,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	linux-um@lists.infradead.org, Vladimir Zapolskiy <vz@mleia.com>,
	linux-m68k@lists.linux-m68k.org,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	linux-tegra@vger.kernel.org, linux-omap@vger.kernel.org,
	Johannes Berg <johannes@sipsolutions.net>,
	linux-arm-kern el@lists.infradead.org,
	Qin Jian <qinjian@cqplus1.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	linux-mips@vger.kernel.org, Pekka Enberg <penberg@kernel.org>,
	Dinh Nguyen <dinguyen@kernel.org>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	Shawn Guo <shawnguo@kernel.org>,
	"David S . Miller" <davem@davemloft.net>
Subject: Re: [PATCH] mm/slab: rename CONFIG_SLAB to CONFIG_SLAB_DEPRECATED
Date: Tue, 23 May 2023 17:29:17 -0700 (PDT)	[thread overview]
Message-ID: <be109b49-8510-5887-72ae-738db9945619@google.com> (raw)
In-Reply-To: <20230523091139.21449-1-vbabka@suse.cz>

On Tue, 23 May 2023, Vlastimil Babka wrote:

> As discussed at LSF/MM [1] [2] and with no objections raised there,
> deprecate the SLAB allocator. Rename the user-visible option so that
> users with CONFIG_SLAB=y get a new prompt with explanation during make
> oldconfig, while make olddefconfig will just switch to SLUB.
> 
> In all defconfigs with CONFIG_SLAB=y remove the line so those also
> switch to SLUB. Regressions due to the switch should be reported to
> linux-mm and slab maintainers.
> 
> [1] https://lore.kernel.org/all/4b9fc9c6-b48c-198f-5f80-811a44737e5f@suse.cz/
> [2] https://lwn.net/Articles/932201/
> 
> Signed-off-by: Vlastimil Babka <vbabka@suse.cz>

Acked-by: David Rientjes <rientjes@google.com>

The Kconfig option says that SLAB will be removed in a few cycles.  I 
think we should wait until at least the next LTS kernel is forked at the 
end of the year so that users who upgrade to only the LTS releases can be 
prompted for this change and surface any concerns.  Slab allocation is a 
critical subsystem, so I presume this is the safest and most responsible 
way to do the SLAB deprecation.  Hopefully that timeline works for 
everybody.

  parent reply	other threads:[~2023-05-24  0:29 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-23  9:11 [PATCH] mm/slab: rename CONFIG_SLAB to CONFIG_SLAB_DEPRECATED Vlastimil Babka
2023-05-23  9:11 ` Vlastimil Babka
2023-05-23  9:11 ` Vlastimil Babka
2023-05-23  9:11 ` Vlastimil Babka
2023-05-23  9:11 ` Vlastimil Babka
2023-05-23  9:22 ` Geert Uytterhoeven
2023-05-23  9:22   ` Geert Uytterhoeven
2023-05-23  9:22   ` Geert Uytterhoeven
2023-05-23  9:22   ` Geert Uytterhoeven
2023-05-23  9:22   ` Geert Uytterhoeven
2023-05-23  9:26   ` Vlastimil Babka
2023-05-23  9:26     ` Vlastimil Babka
2023-05-23  9:26     ` Vlastimil Babka
2023-05-23  9:26     ` Vlastimil Babka
2023-05-23  9:26     ` Vlastimil Babka
2023-05-23 10:58 ` Hyeonggon Yoo
2023-05-23 10:58   ` Hyeonggon Yoo
2023-05-23 10:58   ` Hyeonggon Yoo
2023-05-23 10:58   ` Hyeonggon Yoo
2023-05-23 10:58   ` Hyeonggon Yoo
2023-05-24  0:29 ` David Rientjes [this message]
2023-05-24  0:29   ` David Rientjes
2023-05-24  0:29   ` David Rientjes
2023-05-24  0:29   ` David Rientjes
2023-05-24  0:29   ` David Rientjes
2023-05-24 14:27   ` Vlastimil Babka
2023-05-24 14:27     ` Vlastimil Babka
2023-05-24 14:27     ` Vlastimil Babka
2023-05-24 14:27     ` Vlastimil Babka
2023-05-24 14:27     ` Vlastimil Babka
2023-05-25 18:16   ` Helge Deller
2023-05-25 18:16     ` Helge Deller
2023-05-25 18:16     ` Helge Deller
2023-05-25 18:16     ` Helge Deller
2023-05-25 18:16     ` Helge Deller

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=be109b49-8510-5887-72ae-738db9945619@google.com \
    --to=rientjes@google.com \
    --cc=42.hyeyoo@gmail.com \
    --cc=James.Bottomley@hansenpartnership.com \
    --cc=akpm@linux-foundation.org \
    --cc=andrew@lunn.ch \
    --cc=anton.ivanov@cambridgegreys.com \
    --cc=cl@linux.com \
    --cc=dalias@libc.org \
    --cc=davem@davemloft.net \
    --cc=deller@gmx.de \
    --cc=dinguyen@kernel.org \
    --cc=glaubitz@physik.fu-berlin.de \
    --cc=gregory.clement@bootlin.com \
    --cc=iamjoonsoo.kim@lge.com \
    --cc=johannes@sipsolutions.net \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-m68k@lists.linux-m68k.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=linux-snps-arc@lists.infradead.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=linux-um@lists.infradead.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=penberg@kernel.org \
    --cc=qinjian@cqplus1.com \
    --cc=richard@nod.at \
    --cc=roman.gushchin@linux.dev \
    --cc=s.hauer@pengutronix.de \
    --cc=sebastian.hesselbarth@gmail.com \
    --cc=shawnguo@kernel.org \
    --cc=sparclinux@vger.kernel.org \
    --cc=tony@atomide.com \
    --cc=tsbogend@alpha.franken.de \
    --cc=vbabka@suse.cz \
    --cc=vz@mleia.com \
    --cc=ysato@users.sourceforge.jp \
    /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.