diff for duplicates of <200608191325.19557.arnd@arndb.de> diff --git a/a/1.txt b/N1/1.txt index 3255f7f..0c85451 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,33 +1,32 @@ On Sunday 20 August 2006 03:31, Stephen Hemminger wrote: ->=20 -> The reason reclaim via poll() is efficient is because it avoid causing a= -=20 +> +> The reason reclaim via poll() is efficient is because it avoid causing a > softirq that is -> necessary when skb_free_irq() is done. Instead it reuses the softirq=20 -> from the poll() routine.=20 +> necessary when skb_free_irq() is done. Instead it reuses the softirq +> from the poll() routine. Ok, I completely missed this point so far, thanks for the info. -> Like all Rx NAPI, using poll() for reclaim means:=20 -> =A0 =A0 + aggregating multiple frames in one irq -> =A0 =A0 - increased overhead of twiddling with the IRQ mask -> =A0 =A0 - more ways to get driver stuck +> Like all Rx NAPI, using poll() for reclaim means: +> + aggregating multiple frames in one irq +> - increased overhead of twiddling with the IRQ mask +> - more ways to get driver stuck What is the best way to treat the IRQ mask for TX interrupts? I guess it should be roughly: -=2D off when we expect ->poll() to be called, i.e. after calling +- off when we expect ->poll() to be called, i.e. after calling netif_rx_schedule() or returning after a partial rx from poll(). -=2D off when there are no packets left in the TX queue -=2D on while RX interrupts are on and we're waiting for packets +- off when there are no packets left in the TX queue +- on while RX interrupts are on and we're waiting for packets to be transmitted. -> Some drivers do all their irq work in the poll() routine (including PHY=20 +> Some drivers do all their irq work in the poll() routine (including PHY > handling). > This is good if reading the IRQ status does an auto mask operation. ->=20 +> > The whole NAPI documentation area is a mess and needs a good writer -> to do some major restructuring. It should also be split into reference=20 +> to do some major restructuring. It should also be split into reference > information, > tutorial and guide sections. diff --git a/a/content_digest b/N1/content_digest index 2db5f89..ba2d535 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -5,46 +5,45 @@ "Subject\0Re: [RFC] HOWTO use NAPI to reduce TX interrupts\0" "Date\0Sat, 19 Aug 2006 13:25:18 +0200\0" "To\0Stephen Hemminger <shemminger@osdl.org>\0" - "Cc\0akpm@osdl.org" - netdev@vger.kernel.org + "Cc\0linuxppc-dev@ozlabs.org" + akpm@osdl.org James K Lewis <jklewis@us.ibm.com> linux-kernel@vger.kernel.org - linuxppc-dev@ozlabs.org - Jens Osterkamp <Jens.Osterkamp@de.ibm.com> + netdev@vger.kernel.org Jeff Garzik <jgarzik@pobox.com> + Jens Osterkamp <Jens.Osterkamp@de.ibm.com> " David Miller <davem@davemloft.net>\0" "\00:1\0" "b\0" "On Sunday 20 August 2006 03:31, Stephen Hemminger wrote:\n" - ">=20\n" - "> The reason reclaim via poll() is efficient is because it avoid causing a=\n" - "=20\n" + "> \n" + "> The reason reclaim via poll() is efficient is because it avoid causing a \n" "> softirq that is\n" - "> necessary when skb_free_irq() is done. Instead it reuses the softirq=20\n" - "> from the poll() routine.=20\n" + "> necessary when skb_free_irq() is done. Instead it reuses the softirq \n" + "> from the poll() routine. \n" "\n" "Ok, I completely missed this point so far, thanks for the info.\n" "\n" - "> Like all Rx NAPI, using poll() for reclaim means:=20\n" - "> =A0 =A0 + aggregating multiple frames in one irq\n" - "> =A0 =A0 - increased overhead of twiddling with the IRQ mask\n" - "> =A0 =A0 - more ways to get driver stuck\n" + "> Like all Rx NAPI, using poll() for reclaim means: \n" + "> \302\240 \302\240 + aggregating multiple frames in one irq\n" + "> \302\240 \302\240 - increased overhead of twiddling with the IRQ mask\n" + "> \302\240 \302\240 - more ways to get driver stuck\n" "\n" "What is the best way to treat the IRQ mask for TX interrupts?\n" "I guess it should be roughly:\n" "\n" - "=2D off when we expect ->poll() to be called, i.e. after calling\n" + "- off when we expect ->poll() to be called, i.e. after calling\n" " netif_rx_schedule() or returning after a partial rx from poll().\n" - "=2D off when there are no packets left in the TX queue\n" - "=2D on while RX interrupts are on and we're waiting for packets\n" + "- off when there are no packets left in the TX queue\n" + "- on while RX interrupts are on and we're waiting for packets\n" " to be transmitted.\n" "\n" - "> Some drivers do all their irq work in the poll() routine (including PHY=20\n" + "> Some drivers do all their irq work in the poll() routine (including PHY \n" "> handling).\n" "> This is good if reading the IRQ status does an auto mask operation.\n" - ">=20\n" + "> \n" "> The whole NAPI documentation area is a mess and needs a good writer\n" - "> to do some major restructuring. It should also be split into reference=20\n" + "> to do some major restructuring. It should also be split into reference \n" "> information,\n" "> tutorial and guide sections.\n" "\n" @@ -57,4 +56,4 @@ "\n" "\tArnd <><" -685e0aa420fd374c578ed086c6b63d1e28434c4c1e0a362a20966b6179361f62 +8720fc8f9e2f0af80b30227cfe3466bae95199bb19534238dc1bd0ceaab92f5b
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.