All of lore.kernel.org
 help / color / mirror / Atom feed
From: Luis R. Rodriguez <lrodriguez@atheros.com>
To: ath9k-devel@lists.ath9k.org
Subject: [ath9k-devel] ath9k: massive unexplained latency in 2.6.27	(rc5, rc6, probably others)
Date: Fri, 19 Sep 2008 11:23:22 -0700	[thread overview]
Message-ID: <20080919182322.GB7027@tesla> (raw)
In-Reply-To: <20080919175824.GA5626@senthil-lnx.users.atheros.com>

On Fri, Sep 19, 2008 at 10:58:24AM -0700, Senthilkumar Balasubramanian wrote:
> 
> I am on 2.6.27-rc6 and this patch is on top of my earlier patch
> titled "[PATCH] ath9k: connectivity is lost after Group rekeying is
> done". However this patch can be applied on top of latest wireless testing
> too. I could apply this patch succesfully on top of wireless testing
> git tree.
> 
> My git-describe says v2.6.27-rc6-1378-g34e512f.
> 
> There is no sc_invalid flag in "struct ath_softc" today. Where did
> you get this variable from? It was removed in the following commit
> 
> -----------------------------------------------
> commit f2c9705a05ecbc0d94216a3b042d5641e8bf70b1
> Author: Sujith <Sujith.Manoharan@atheros.com>
> Date:   Mon Aug 11 14:05:08 2008 +0530
> 
>     ath9k: Use bitfields for sc operations
> 
>     Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
>     Signed-off-by: John W. Linville <linville@tuxdriver.com>
> -----------------------------------------------
> 
> Which code base are you using?

Thanks for the patch Senthil. He is on Linus' v2.6.27-rc, you are on
wireless-testing so I've ported it (no changes, it just applies cleanly
now). This is also untested by me:

diff --git a/drivers/net/wireless/ath9k/core.c b/drivers/net/wireless/ath9k/core.c
index f6c4528..9a432e5 100644
--- a/drivers/net/wireless/ath9k/core.c
+++ b/drivers/net/wireless/ath9k/core.c
@@ -1336,6 +1336,8 @@ void ath_deinit(struct ath_softc *sc)
 
 	DPRINTF(sc, ATH_DBG_CONFIG, "%s\n", __func__);
 
+	tasklet_kill(&sc->intr_tq);
+	tasklet_kill(&sc->bcon_tasklet);
 	ath_stop(sc);
 	if (!sc->sc_invalid)
 		ath9k_hw_setpower(sc->sc_ah, ATH9K_PM_AWAKE);
diff --git a/drivers/net/wireless/ath9k/main.c b/drivers/net/wireless/ath9k/main.c
index c5107f2..75acf54 100644
--- a/drivers/net/wireless/ath9k/main.c
+++ b/drivers/net/wireless/ath9k/main.c
@@ -1400,10 +1400,16 @@ static void ath_pci_remove(struct pci_dev *pdev)
 {
 	struct ieee80211_hw *hw = pci_get_drvdata(pdev);
 	struct ath_softc *sc = hw->priv;
+	enum ath9k_int status;
 
-	if (pdev->irq)
+	if (pdev->irq) {
+		ath9k_hw_set_interrupts(sc->sc_ah, 0);
+		ath9k_hw_getisr(sc->sc_ah, &status);	/* NB: clears ISR too */
+		sc->sc_flags |= SC_OP_INVALID;
 		free_irq(pdev->irq, sc);
+	}
 	ath_detach(sc);
+
 	pci_iounmap(pdev, sc->mem);
 	pci_release_region(pdev, 0);
 	pci_disable_device(pdev);

WARNING: multiple messages have this Message-ID (diff)
From: "Luis R. Rodriguez" <lrodriguez@atheros.com>
To: Senthilkumar Balasubramanian <Senthilkumar.Balasubramanian@Atheros.com>
Cc: Steven Noonan <steven@uplinklabs.net>,
	Luis Rodriguez <Luis.Rodriguez@Atheros.com>,
	Ingo Molnar <mingo@elte.hu>,
	"ath9k-devel@lists.ath9k.org" <ath9k-devel@lists.ath9k.org>,
	linux-wireless <linux-wireless@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: [ath9k-devel] ath9k: massive unexplained latency in 2.6.27 (rc5, rc6, probably others)
Date: Fri, 19 Sep 2008 11:23:22 -0700	[thread overview]
Message-ID: <20080919182322.GB7027@tesla> (raw)
In-Reply-To: <20080919175824.GA5626@senthil-lnx.users.atheros.com>

On Fri, Sep 19, 2008 at 10:58:24AM -0700, Senthilkumar Balasubramanian wrote:
> 
> I am on 2.6.27-rc6 and this patch is on top of my earlier patch
> titled "[PATCH] ath9k: connectivity is lost after Group rekeying is
> done". However this patch can be applied on top of latest wireless testing
> too. I could apply this patch succesfully on top of wireless testing
> git tree.
> 
> My git-describe says v2.6.27-rc6-1378-g34e512f.
> 
> There is no sc_invalid flag in "struct ath_softc" today. Where did
> you get this variable from? It was removed in the following commit
> 
> -----------------------------------------------
> commit f2c9705a05ecbc0d94216a3b042d5641e8bf70b1
> Author: Sujith <Sujith.Manoharan@atheros.com>
> Date:   Mon Aug 11 14:05:08 2008 +0530
> 
>     ath9k: Use bitfields for sc operations
> 
>     Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
>     Signed-off-by: John W. Linville <linville@tuxdriver.com>
> -----------------------------------------------
> 
> Which code base are you using?

Thanks for the patch Senthil. He is on Linus' v2.6.27-rc, you are on
wireless-testing so I've ported it (no changes, it just applies cleanly
now). This is also untested by me:

diff --git a/drivers/net/wireless/ath9k/core.c b/drivers/net/wireless/ath9k/core.c
index f6c4528..9a432e5 100644
--- a/drivers/net/wireless/ath9k/core.c
+++ b/drivers/net/wireless/ath9k/core.c
@@ -1336,6 +1336,8 @@ void ath_deinit(struct ath_softc *sc)
 
 	DPRINTF(sc, ATH_DBG_CONFIG, "%s\n", __func__);
 
+	tasklet_kill(&sc->intr_tq);
+	tasklet_kill(&sc->bcon_tasklet);
 	ath_stop(sc);
 	if (!sc->sc_invalid)
 		ath9k_hw_setpower(sc->sc_ah, ATH9K_PM_AWAKE);
diff --git a/drivers/net/wireless/ath9k/main.c b/drivers/net/wireless/ath9k/main.c
index c5107f2..75acf54 100644
--- a/drivers/net/wireless/ath9k/main.c
+++ b/drivers/net/wireless/ath9k/main.c
@@ -1400,10 +1400,16 @@ static void ath_pci_remove(struct pci_dev *pdev)
 {
 	struct ieee80211_hw *hw = pci_get_drvdata(pdev);
 	struct ath_softc *sc = hw->priv;
+	enum ath9k_int status;
 
-	if (pdev->irq)
+	if (pdev->irq) {
+		ath9k_hw_set_interrupts(sc->sc_ah, 0);
+		ath9k_hw_getisr(sc->sc_ah, &status);	/* NB: clears ISR too */
+		sc->sc_flags |= SC_OP_INVALID;
 		free_irq(pdev->irq, sc);
+	}
 	ath_detach(sc);
+
 	pci_iounmap(pdev, sc->mem);
 	pci_release_region(pdev, 0);
 	pci_disable_device(pdev);

WARNING: multiple messages have this Message-ID (diff)
From: "Luis R. Rodriguez" <lrodriguez@atheros.com>
To: Senthilkumar Balasubramanian  <Senthilkumar.Balasubramanian@atheros.com>
Cc: Steven Noonan <steven@uplinklabs.net>,
	Luis Rodriguez <Luis.Rodriguez@atheros.com>,
	Ingo Molnar <mingo@elte.hu>,
	"ath9k-devel@lists.ath9k.org" <ath9k-devel@venema.h4ckr.net>,
	linux-wireless <linux-wireless@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: [ath9k-devel] ath9k: massive unexplained latency in 2.6.27 (rc5, rc6, probably others)
Date: Fri, 19 Sep 2008 11:23:22 -0700	[thread overview]
Message-ID: <20080919182322.GB7027@tesla> (raw)
In-Reply-To: <20080919175824.GA5626@senthil-lnx.users.atheros.com>

On Fri, Sep 19, 2008 at 10:58:24AM -0700, Senthilkumar Balasubramanian wrote:
> 
> I am on 2.6.27-rc6 and this patch is on top of my earlier patch
> titled "[PATCH] ath9k: connectivity is lost after Group rekeying is
> done". However this patch can be applied on top of latest wireless testing
> too. I could apply this patch succesfully on top of wireless testing
> git tree.
> 
> My git-describe says v2.6.27-rc6-1378-g34e512f.
> 
> There is no sc_invalid flag in "struct ath_softc" today. Where did
> you get this variable from? It was removed in the following commit
> 
> -----------------------------------------------
> commit f2c9705a05ecbc0d94216a3b042d5641e8bf70b1
> Author: Sujith <Sujith.Manoharan@atheros.com>
> Date:   Mon Aug 11 14:05:08 2008 +0530
> 
>     ath9k: Use bitfields for sc operations
> 
>     Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
>     Signed-off-by: John W. Linville <linville@tuxdriver.com>
> -----------------------------------------------
> 
> Which code base are you using?

Thanks for the patch Senthil. He is on Linus' v2.6.27-rc, you are on
wireless-testing so I've ported it (no changes, it just applies cleanly
now). This is also untested by me:

diff --git a/drivers/net/wireless/ath9k/core.c b/drivers/net/wireless/ath9k/core.c
index f6c4528..9a432e5 100644
--- a/drivers/net/wireless/ath9k/core.c
+++ b/drivers/net/wireless/ath9k/core.c
@@ -1336,6 +1336,8 @@ void ath_deinit(struct ath_softc *sc)
 
 	DPRINTF(sc, ATH_DBG_CONFIG, "%s\n", __func__);
 
+	tasklet_kill(&sc->intr_tq);
+	tasklet_kill(&sc->bcon_tasklet);
 	ath_stop(sc);
 	if (!sc->sc_invalid)
 		ath9k_hw_setpower(sc->sc_ah, ATH9K_PM_AWAKE);
diff --git a/drivers/net/wireless/ath9k/main.c b/drivers/net/wireless/ath9k/main.c
index c5107f2..75acf54 100644
--- a/drivers/net/wireless/ath9k/main.c
+++ b/drivers/net/wireless/ath9k/main.c
@@ -1400,10 +1400,16 @@ static void ath_pci_remove(struct pci_dev *pdev)
 {
 	struct ieee80211_hw *hw = pci_get_drvdata(pdev);
 	struct ath_softc *sc = hw->priv;
+	enum ath9k_int status;
 
-	if (pdev->irq)
+	if (pdev->irq) {
+		ath9k_hw_set_interrupts(sc->sc_ah, 0);
+		ath9k_hw_getisr(sc->sc_ah, &status);	/* NB: clears ISR too */
+		sc->sc_flags |= SC_OP_INVALID;
 		free_irq(pdev->irq, sc);
+	}
 	ath_detach(sc);
+
 	pci_iounmap(pdev, sc->mem);
 	pci_release_region(pdev, 0);
 	pci_disable_device(pdev);

  reply	other threads:[~2008-09-19 18:23 UTC|newest]

Thread overview: 192+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-18 18:23 [ath9k-devel] ath9k: massive unexplained latency in 2.6.27 (rc5, rc6, probably others) Steven Noonan
2008-09-18 18:23 ` Steven Noonan
2008-09-18 18:23 ` Steven Noonan
2008-09-18 18:30 ` Johannes Berg
2008-09-18 18:34 ` [ath9k-devel] " Luis R. Rodriguez
2008-09-18 18:34   ` Luis R. Rodriguez
2008-09-18 18:34   ` Luis R. Rodriguez
2008-09-18 18:42   ` Luis R. Rodriguez
2008-09-18 18:42     ` Luis R. Rodriguez
2008-09-18 18:42     ` Luis R. Rodriguez
2008-09-18 19:00     ` Steven Noonan
2008-09-18 19:00       ` Steven Noonan
2008-09-18 19:00       ` Steven Noonan
2008-09-18 19:23       ` Steven Noonan
2008-09-18 19:23         ` Steven Noonan
2008-09-18 19:23         ` Steven Noonan
2008-09-18 20:18         ` Justin Mattock
2008-09-18 20:18           ` Justin Mattock
2008-09-18 20:18           ` Justin Mattock
2008-09-18 20:25           ` Steven Noonan
2008-09-18 20:25             ` Steven Noonan
2008-09-18 20:25             ` Steven Noonan
2008-09-18 20:44       ` Luis R. Rodriguez
2008-09-18 20:44         ` Luis R. Rodriguez
2008-09-18 20:44         ` Luis R. Rodriguez
2008-09-18 21:31         ` Justin Mattock
2008-09-18 21:31           ` Justin Mattock
2008-09-18 21:31           ` Justin Mattock
2008-09-18 21:49         ` Steven Noonan
2008-09-18 21:49           ` Steven Noonan
2008-09-18 21:49           ` Steven Noonan
2008-09-18 22:01           ` Luis R. Rodriguez
2008-09-18 22:01             ` Luis R. Rodriguez
2008-09-18 22:01             ` Luis R. Rodriguez
2008-09-18 22:08             ` Luis R. Rodriguez
2008-09-18 22:08               ` Luis R. Rodriguez
2008-09-18 22:08               ` Luis R. Rodriguez
2008-09-18 23:04               ` Steven Noonan
2008-09-18 23:04                 ` Steven Noonan
2008-09-18 23:04                 ` Steven Noonan
2008-09-18 23:10                 ` Luis R. Rodriguez
2008-09-18 23:10                   ` Luis R. Rodriguez
2008-09-18 23:10                   ` Luis R. Rodriguez
2008-09-18 23:16                   ` Johannes Berg
2008-09-18 23:16                     ` Johannes Berg
2008-09-18 23:16                     ` Johannes Berg
2008-09-19  2:52                   ` Steven Noonan
2008-09-19  2:52                     ` Steven Noonan
2008-09-19  2:52                     ` Steven Noonan
2008-09-19  3:01                     ` Luis R. Rodriguez
2008-09-19  3:01                       ` Luis R. Rodriguez
2008-09-19  3:01                       ` Luis R. Rodriguez
2008-09-19  7:29                       ` Steven Noonan
2008-09-19  7:29                         ` Steven Noonan
2008-09-19  7:29                         ` Steven Noonan
2008-09-19  8:17                         ` Ingo Molnar
2008-09-19  8:17                           ` Ingo Molnar
2008-09-19  8:17                           ` Ingo Molnar
2008-09-19  8:22                           ` Steven Noonan
2008-09-19  8:22                             ` Steven Noonan
2008-09-19  8:22                             ` Steven Noonan
2008-09-19  8:32                             ` Ingo Molnar
2008-09-19  8:32                               ` Ingo Molnar
2008-09-19  8:32                               ` Ingo Molnar
2008-09-27  1:23                               ` Steven Rostedt
2008-09-27  1:23                                 ` Steven Rostedt
2008-09-27  1:23                                 ` Steven Rostedt
2008-09-27 19:20                                 ` Ingo Molnar
2008-09-27 19:20                                   ` Ingo Molnar
2008-09-27 19:20                                   ` Ingo Molnar
2008-09-27 19:28                                   ` Steven Rostedt
2008-09-27 19:28                                     ` Steven Rostedt
2008-09-27 19:28                                     ` Steven Rostedt
2008-09-19  8:45                             ` Steven Noonan
2008-09-19  8:45                               ` Steven Noonan
2008-09-19  8:45                               ` Steven Noonan
2008-09-19  8:51                               ` Ingo Molnar
2008-09-19  8:51                                 ` Ingo Molnar
2008-09-19  8:51                                 ` Ingo Molnar
2008-09-19  8:22                         ` Steven Noonan
2008-09-19  8:22                           ` Steven Noonan
2008-09-19  8:22                           ` Steven Noonan
2008-09-19 14:28                         ` Senthil Balasubramanian
2008-09-19 14:28                           ` Senthil Balasubramanian
2008-09-19 14:28                           ` Senthil Balasubramanian
2008-09-19 16:42                           ` Steven Noonan
2008-09-19 16:42                             ` Steven Noonan
2008-09-19 16:42                             ` Steven Noonan
2008-09-19 17:58                             ` Senthil Balasubramanian
2008-09-19 17:58                               ` Senthil Balasubramanian
2008-09-19 17:58                               ` Senthil Balasubramanian
2008-09-19 18:23                               ` Luis R. Rodriguez [this message]
2008-09-19 18:23                                 ` Luis R. Rodriguez
2008-09-19 18:23                                 ` Luis R. Rodriguez
2008-09-19 23:31                                 ` Steven Noonan
2008-09-19 23:31                                   ` Steven Noonan
2008-09-19 23:31                                   ` Steven Noonan
2008-09-19 23:53                                   ` Luis R. Rodriguez
2008-09-19 23:53                                     ` Luis R. Rodriguez
2008-09-19 23:53                                     ` Luis R. Rodriguez
2008-09-20  0:01                                     ` Steven Noonan
2008-09-20  0:01                                       ` Steven Noonan
2008-09-20  0:01                                       ` Steven Noonan
2008-09-20  1:13                                       ` Luis R. Rodriguez
2008-09-20  1:13                                         ` Luis R. Rodriguez
2008-09-20  1:13                                         ` Luis R. Rodriguez
2008-09-20  1:15                                         ` Luis R. Rodriguez
2008-09-20  1:15                                           ` Luis R. Rodriguez
2008-09-20  1:15                                           ` Luis R. Rodriguez
2008-09-20  3:29                                         ` Steven Noonan
2008-09-20  3:29                                           ` Steven Noonan
2008-09-20  3:29                                           ` Steven Noonan
2008-09-20  3:40                                           ` Steven Noonan
2008-09-20  3:40                                             ` Steven Noonan
2008-09-20  3:40                                             ` Steven Noonan
2008-09-20 20:56                                             ` Luis R. Rodriguez
2008-09-20 20:56                                               ` Luis R. Rodriguez
2008-09-20 20:56                                               ` Luis R. Rodriguez
2008-09-20 15:21                                           ` Steven Noonan
2008-09-20 15:21                                             ` Steven Noonan
2008-09-20 15:21                                             ` Steven Noonan
2008-09-20 20:57                                             ` Luis R. Rodriguez
2008-09-20 20:57                                               ` Luis R. Rodriguez
2008-09-20 20:57                                               ` Luis R. Rodriguez
2008-09-20 20:58                                               ` Johannes Berg
2008-09-20 20:58                                                 ` Johannes Berg
2008-09-20 20:58                                                 ` Johannes Berg
2008-09-20 21:03                                                 ` Luis R. Rodriguez
2008-09-20 21:03                                                   ` Luis R. Rodriguez
2008-09-20 21:03                                                   ` Luis R. Rodriguez
2008-09-20 21:22                                                   ` Steven Noonan
2008-09-20 21:22                                                     ` Steven Noonan
2008-09-20 21:22                                                     ` Steven Noonan
2008-09-20 21:26                                                     ` Luis R. Rodriguez
2008-09-20 21:26                                                       ` Luis R. Rodriguez
2008-09-20 21:26                                                       ` Luis R. Rodriguez
2008-09-20 21:48                                                       ` Steven Noonan
2008-09-20 21:48                                                         ` Steven Noonan
2008-09-20 21:48                                                         ` Steven Noonan
2008-09-21  1:48                                                         ` Steven Noonan
2008-09-21  1:48                                                           ` Steven Noonan
2008-09-21  1:48                                                           ` Steven Noonan
2008-09-21 15:33                                                           ` Jean Schurger
2008-09-21 17:01                                                             ` Steven Noonan
2008-09-22  6:54                                                           ` Luis R. Rodriguez
2008-09-22  6:54                                                             ` Luis R. Rodriguez
2008-09-22  6:54                                                             ` Luis R. Rodriguez
2008-09-22  7:14                                                             ` Luis R. Rodriguez
2008-09-22  7:14                                                               ` Luis R. Rodriguez
2008-09-22  7:14                                                               ` Luis R. Rodriguez
2008-09-22  7:26                                                             ` Steven Noonan
2008-09-22  7:26                                                               ` Steven Noonan
2008-09-22  7:26                                                               ` Steven Noonan
2008-09-22  8:06                                                               ` Luis R. Rodriguez
2008-09-22  8:06                                                                 ` Luis R. Rodriguez
2008-09-22  8:06                                                                 ` Luis R. Rodriguez
2008-09-22 15:11                                                                 ` Steven Noonan
2008-09-22 15:11                                                                   ` Steven Noonan
2008-09-22 15:11                                                                   ` Steven Noonan
2008-09-22 16:01                                                                   ` Luis R. Rodriguez
2008-09-22 16:01                                                                     ` Luis R. Rodriguez
2008-09-22 16:01                                                                     ` Luis R. Rodriguez
2008-09-23  7:22                                                                     ` Steven Noonan
2008-09-23  7:22                                                                       ` Steven Noonan
2008-09-23  7:22                                                                       ` Steven Noonan
2008-09-23  7:55                                                                       ` Steven Noonan
2008-09-23  7:55                                                                         ` Steven Noonan
2008-09-23  7:55                                                                         ` Steven Noonan
2008-09-23 16:20                                                                         ` Steven Noonan
2008-09-23 16:20                                                                           ` Steven Noonan
2008-09-23 16:20                                                                           ` Steven Noonan
2008-09-23 19:22                                                                       ` Luis R. Rodriguez
2008-09-23 19:22                                                                         ` Luis R. Rodriguez
2008-09-23 19:22                                                                         ` Luis R. Rodriguez
2008-09-20 21:18                                               ` Steven Noonan
2008-09-20 21:18                                                 ` Steven Noonan
2008-09-20 21:18                                                 ` Steven Noonan
2008-09-20 21:24                                                 ` Luis R. Rodriguez
2008-09-20 21:24                                                   ` Luis R. Rodriguez
2008-09-20 21:24                                                   ` Luis R. Rodriguez
2008-09-18 23:08             ` Steven Noonan
2008-09-18 23:08               ` Steven Noonan
2008-09-18 23:08               ` Steven Noonan
2008-09-18 23:12               ` Luis R. Rodriguez
2008-09-18 23:12                 ` Luis R. Rodriguez
2008-09-18 23:12                 ` Luis R. Rodriguez
     [not found] <fa.jQQm4Iwb0lkAWxV+5FAfTMHY4m4@ifi.uio.no>
     [not found] ` <fa.zGA6t2p+jJeMRIaZFOqy1I8En1c@ifi.uio.no>
     [not found]   ` <fa.AGi3s2gpyC3T3KuCJ8cYQ30teak@ifi.uio.no>
     [not found]     ` <fa.59AlSLNBuMx/BjQSvR6whwGydbU@ifi.uio.no>
     [not found]       ` <fa.NwYDTAB59VZjr1quzgR4OU0+8eQ@ifi.uio.no>
     [not found]         ` <fa.tRre/FoeQKwChGwdusnYJgwjRmw@ifi.uio.no>
2008-09-19 14:46           ` Robert Hancock
2008-09-19 14:46             ` Robert Hancock
2008-09-19 14:46             ` Robert Hancock
2008-09-19 16:27             ` Steven Noonan
2008-09-19 16:27               ` Steven Noonan
2008-09-19 16:27               ` Steven Noonan

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=20080919182322.GB7027@tesla \
    --to=lrodriguez@atheros.com \
    --cc=ath9k-devel@lists.ath9k.org \
    /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.