diff for duplicates of <20090313220259.GA29459@kroah.com> diff --git a/a/1.txt b/N1/1.txt index 0592a50..a03ddb5 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -11,67 +11,82 @@ On Fri, Mar 13, 2009 at 02:29:08PM -0700, Luis R. Rodriguez wrote: > > serialization which worked. I added just 5 udelay()s in key places > > where we had a lot of consecutive IO read/writes issued and that > > resolved the issue at least for STA mode but it didn't do the trick -> > for AP mode. Technically it should be possible to groom all hardware +> > for AP mode. Technically it should be possible to groom all hardwar= +e > > access routines to do the same but I'm tired of this issue and want > > to a fix merged today not a few weeks from now. Anyway if you are > > curious you can check out that patch replacement approach for > > serialization here: > > -> > http://www.kernel.org/pub/linux/kernel/people/mcgrof/patches/ath9k/2009-03-12/smp-udelay-fix.patch +> > http://www.kernel.org/pub/linux/kernel/people/mcgrof/patches/ath9k/= +2009-03-12/smp-udelay-fix.patch > > > > Note that AP won't work though so if you have a lot of time in your -> > hands and have an SMP box with PCI Atheros 11n and are seeing the hangs -> > and want a neat alternative to the current serialization implementation -> > try adding udelays like the ones in the patch in places where we do a lot +> > hands and have an SMP box with PCI Atheros 11n and are seeing the h= +angs +> > and want a neat alternative to the current serialization implementa= +tion +> > try adding udelays like the ones in the patch in places where we do= + a lot > > of io read/writes. Send me the results :) > > -> > The compromise is to keep serialization conditional -- we do not want to -> > do it for every read/write regardless of the type of card you have, the -> > code overhead is not great and we maintain this anyway. Adding it for all +> > The compromise is to keep serialization conditional -- we do not wa= +nt to +> > do it for every read/write regardless of the type of card you have,= + the +> > code overhead is not great and we maintain this anyway. Adding it f= +or all > > cases would just not be optimal. > > > > Luis R. Rodriguez (3): -> > ?ath9k: implement IO serialization -> > ?ath9k: AR9280 PCI devices must serialize IO as well -> > ?ath9k: remove dummy PCI "retry timeout" fix +> > =A0ath9k: implement IO serialization +> > =A0ath9k: AR9280 PCI devices must serialize IO as well +> > =A0ath9k: remove dummy PCI "retry timeout" fix > > -> > ?drivers/net/wireless/ath9k/ath9k.h | ? 34 ++++++++++++++++++++++++++++++++++ -> > ?drivers/net/wireless/ath9k/hw.c ? ?| ? 28 +++++++++++++++++++++++++++- -> > ?drivers/net/wireless/ath9k/hw.h ? ?| ? ?4 ++-- -> > ?drivers/net/wireless/ath9k/main.c ?| ? ?1 + -> > ?drivers/net/wireless/ath9k/pci.c ? | ? 18 ------------------ -> > ?5 files changed, 64 insertions(+), 21 deletions(-) -> +> > =A0drivers/net/wireless/ath9k/ath9k.h | =A0 34 ++++++++++++++++++++= +++++++++++++++ +> > =A0drivers/net/wireless/ath9k/hw.c =A0 =A0| =A0 28 ++++++++++++++++= ++++++++++++- +> > =A0drivers/net/wireless/ath9k/hw.h =A0 =A0| =A0 =A04 ++-- +> > =A0drivers/net/wireless/ath9k/main.c =A0| =A0 =A01 + +> > =A0drivers/net/wireless/ath9k/pci.c =A0 | =A0 18 ------------------ +> > =A05 files changed, 64 insertions(+), 21 deletions(-) +>=20 > John, Greg, -> +>=20 > these patches require a port down to the other stable kernels, I've > taken the time to port only the necessary patches (the first two) to > fix the SMP hang on each stable kernel and test them accordingly: -> +>=20 > * 2.6.27 > * 2.6.28 > * 2.6.29 -> -> Once merged into wireless-testing the following patches can be used to +>=20 +> Once merged into wireless-testing the following patches can be used t= +o > push into Linus' tree: -> -> http://www.kernel.org/pub/linux/kernel/people/mcgrof/patches/ath9k/2009-03-12/serialization-v6/for-2.6.29/ -> -> Once merged into stable these can be used to merge into 2.6.27 and 2.6.28: -> -> http://www.kernel.org/pub/linux/kernel/people/mcgrof/patches/ath9k/2009-03-12/serialization-v6/for-2.6.27/ -> http://www.kernel.org/pub/linux/kernel/people/mcgrof/patches/ath9k/2009-03-12/serialization-v6/for-2.6.28/ -> +>=20 +> http://www.kernel.org/pub/linux/kernel/people/mcgrof/patches/ath9k/20= +09-03-12/serialization-v6/for-2.6.29/ +>=20 +> Once merged into stable these can be used to merge into 2.6.27 and 2.= +6.28: +>=20 +> http://www.kernel.org/pub/linux/kernel/people/mcgrof/patches/ath9k/20= +09-03-12/serialization-v6/for-2.6.27/ +> http://www.kernel.org/pub/linux/kernel/people/mcgrof/patches/ath9k/20= +09-03-12/serialization-v6/for-2.6.28/ +>=20 > Just replace: -> +>=20 > This is a port of commit SHA1 <BLEH> -> +>=20 > With the respective SHA1. -> +>=20 > I can also simply resend the ports for 27 and 28 once merged into > Linus' tree. Whatever makes it easier for you. -Please, when the patches go into Linus's tree, send stable at kernel.org +Please, when the patches go into Linus's tree, send stable@kernel.org the backported patches, with the proper git commit id in them. Otherwise it's just too much confusing work for me and I'll easily mess @@ -81,3 +96,8 @@ help I can get in handling this in a sane manner :) thanks, greg k-h +-- +To unsubscribe from this list: send the line "unsubscribe linux-wireles= +s" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/a/content_digest b/N1/content_digest index 10fe16b..e8dcf86 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,9 +1,12 @@ "ref\01236896331-5026-1-git-send-email-lrodriguez@atheros.com\0" "ref\043e72e890903131429h560dd786j74dd93a9e80fac12@mail.gmail.com\0" "From\0Greg KH <greg@kroah.com>\0" - "Subject\0[ath9k-devel] [stable] [PATCH v6 0/3] ath9k: SMP fixes\0" + "Subject\0Re: [stable] [ath9k-devel] [PATCH v6 0/3] ath9k: SMP fixes\0" "Date\0Fri, 13 Mar 2009 15:02:59 -0700\0" - "To\0ath9k-devel@lists.ath9k.org\0" + "To\0Luis R. Rodriguez <lrodriguez@atheros.com>\0" + "Cc\0ath9k-devel@venema.h4ckr.net" + linux-wireless@vger.kernel.org + " stable@kernel.org <stable@kernel.org>\0" "\00:1\0" "b\0" "On Fri, Mar 13, 2009 at 02:29:08PM -0700, Luis R. Rodriguez wrote:\n" @@ -19,67 +22,82 @@ "> > serialization which worked. I added just 5 udelay()s in key places\n" "> > where we had a lot of consecutive IO read/writes issued and that\n" "> > resolved the issue at least for STA mode but it didn't do the trick\n" - "> > for AP mode. Technically it should be possible to groom all hardware\n" + "> > for AP mode. Technically it should be possible to groom all hardwar=\n" + "e\n" "> > access routines to do the same but I'm tired of this issue and want\n" "> > to a fix merged today not a few weeks from now. Anyway if you are\n" "> > curious you can check out that patch replacement approach for\n" "> > serialization here:\n" "> >\n" - "> > http://www.kernel.org/pub/linux/kernel/people/mcgrof/patches/ath9k/2009-03-12/smp-udelay-fix.patch\n" + "> > http://www.kernel.org/pub/linux/kernel/people/mcgrof/patches/ath9k/=\n" + "2009-03-12/smp-udelay-fix.patch\n" "> >\n" "> > Note that AP won't work though so if you have a lot of time in your\n" - "> > hands and have an SMP box with PCI Atheros 11n and are seeing the hangs\n" - "> > and want a neat alternative to the current serialization implementation\n" - "> > try adding udelays like the ones in the patch in places where we do a lot\n" + "> > hands and have an SMP box with PCI Atheros 11n and are seeing the h=\n" + "angs\n" + "> > and want a neat alternative to the current serialization implementa=\n" + "tion\n" + "> > try adding udelays like the ones in the patch in places where we do=\n" + " a lot\n" "> > of io read/writes. Send me the results :)\n" "> >\n" - "> > The compromise is to keep serialization conditional -- we do not want to\n" - "> > do it for every read/write regardless of the type of card you have, the\n" - "> > code overhead is not great and we maintain this anyway. Adding it for all\n" + "> > The compromise is to keep serialization conditional -- we do not wa=\n" + "nt to\n" + "> > do it for every read/write regardless of the type of card you have,=\n" + " the\n" + "> > code overhead is not great and we maintain this anyway. Adding it f=\n" + "or all\n" "> > cases would just not be optimal.\n" "> >\n" "> > Luis R. Rodriguez (3):\n" - "> > ?ath9k: implement IO serialization\n" - "> > ?ath9k: AR9280 PCI devices must serialize IO as well\n" - "> > ?ath9k: remove dummy PCI \"retry timeout\" fix\n" + "> > =A0ath9k: implement IO serialization\n" + "> > =A0ath9k: AR9280 PCI devices must serialize IO as well\n" + "> > =A0ath9k: remove dummy PCI \"retry timeout\" fix\n" "> >\n" - "> > ?drivers/net/wireless/ath9k/ath9k.h | ? 34 ++++++++++++++++++++++++++++++++++\n" - "> > ?drivers/net/wireless/ath9k/hw.c ? ?| ? 28 +++++++++++++++++++++++++++-\n" - "> > ?drivers/net/wireless/ath9k/hw.h ? ?| ? ?4 ++--\n" - "> > ?drivers/net/wireless/ath9k/main.c ?| ? ?1 +\n" - "> > ?drivers/net/wireless/ath9k/pci.c ? | ? 18 ------------------\n" - "> > ?5 files changed, 64 insertions(+), 21 deletions(-)\n" - "> \n" + "> > =A0drivers/net/wireless/ath9k/ath9k.h | =A0 34 ++++++++++++++++++++=\n" + "++++++++++++++\n" + "> > =A0drivers/net/wireless/ath9k/hw.c =A0 =A0| =A0 28 ++++++++++++++++=\n" + "+++++++++++-\n" + "> > =A0drivers/net/wireless/ath9k/hw.h =A0 =A0| =A0 =A04 ++--\n" + "> > =A0drivers/net/wireless/ath9k/main.c =A0| =A0 =A01 +\n" + "> > =A0drivers/net/wireless/ath9k/pci.c =A0 | =A0 18 ------------------\n" + "> > =A05 files changed, 64 insertions(+), 21 deletions(-)\n" + ">=20\n" "> John, Greg,\n" - "> \n" + ">=20\n" "> these patches require a port down to the other stable kernels, I've\n" "> taken the time to port only the necessary patches (the first two) to\n" "> fix the SMP hang on each stable kernel and test them accordingly:\n" - "> \n" + ">=20\n" "> * 2.6.27\n" "> * 2.6.28\n" "> * 2.6.29\n" - "> \n" - "> Once merged into wireless-testing the following patches can be used to\n" + ">=20\n" + "> Once merged into wireless-testing the following patches can be used t=\n" + "o\n" "> push into Linus' tree:\n" - "> \n" - "> http://www.kernel.org/pub/linux/kernel/people/mcgrof/patches/ath9k/2009-03-12/serialization-v6/for-2.6.29/\n" - "> \n" - "> Once merged into stable these can be used to merge into 2.6.27 and 2.6.28:\n" - "> \n" - "> http://www.kernel.org/pub/linux/kernel/people/mcgrof/patches/ath9k/2009-03-12/serialization-v6/for-2.6.27/\n" - "> http://www.kernel.org/pub/linux/kernel/people/mcgrof/patches/ath9k/2009-03-12/serialization-v6/for-2.6.28/\n" - "> \n" + ">=20\n" + "> http://www.kernel.org/pub/linux/kernel/people/mcgrof/patches/ath9k/20=\n" + "09-03-12/serialization-v6/for-2.6.29/\n" + ">=20\n" + "> Once merged into stable these can be used to merge into 2.6.27 and 2.=\n" + "6.28:\n" + ">=20\n" + "> http://www.kernel.org/pub/linux/kernel/people/mcgrof/patches/ath9k/20=\n" + "09-03-12/serialization-v6/for-2.6.27/\n" + "> http://www.kernel.org/pub/linux/kernel/people/mcgrof/patches/ath9k/20=\n" + "09-03-12/serialization-v6/for-2.6.28/\n" + ">=20\n" "> Just replace:\n" - "> \n" + ">=20\n" "> This is a port of commit SHA1 <BLEH>\n" - "> \n" + ">=20\n" "> With the respective SHA1.\n" - "> \n" + ">=20\n" "> I can also simply resend the ports for 27 and 28 once merged into\n" "> Linus' tree. Whatever makes it easier for you.\n" "\n" - "Please, when the patches go into Linus's tree, send stable at kernel.org\n" + "Please, when the patches go into Linus's tree, send stable@kernel.org\n" "the backported patches, with the proper git commit id in them.\n" "\n" "Otherwise it's just too much confusing work for me and I'll easily mess\n" @@ -88,6 +106,11 @@ "\n" "thanks,\n" "\n" - greg k-h + "greg k-h\n" + "--\n" + "To unsubscribe from this list: send the line \"unsubscribe linux-wireles=\n" + "s\" in\n" + "the body of a message to majordomo@vger.kernel.org\n" + More majordomo info at http://vger.kernel.org/majordomo-info.html -00a3859bdeb04e187287cabc8b49e6170c5e92ff488f05e7e0cb0ae462682298 +ca473439b475f4a978089adba516259f50f9ea6e4bbb3aac7e56ea417e113d50
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.