linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christian Lamparter <chunkeey@web.de>
To: "Luis R. Rodriguez" <lrodriguez@atheros.com>
Cc: Johannes Berg <johannes@sipsolutions.net>,
	"ath9k-devel@lists.ath9k.org" <ath9k-devel@lists.ath9k.org>,
	"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
	"John W. Linville" <linville@tuxdriver.com>,
	Luis Rodriguez <Luis.Rodriguez@atheros.com>
Subject: Re: [ath9k-devel] [PATCH v5 1/4] ath9k: implement IO serialization
Date: Wed, 11 Mar 2009 22:38:24 +0100	[thread overview]
Message-ID: <200903112238.24116.chunkeey@web.de> (raw)
In-Reply-To: <43e72e890903111408n1af65629s4d3b6f4b1c6fbb44@mail.gmail.com>

On Wednesday 11 March 2009 22:08:43 Luis R. Rodriguez wrote:
> On Wed, Mar 11, 2009 at 10:30 AM, Johannes Berg
> <johannes@sipsolutions.net> wrote:
> > On Wed, 2009-03-11 at 10:20 -0700, Luis R. Rodriguez wrote:
> >
> >> > Hmm. I really don't understand this at all. Most operations won't be
> >> > single writes and reads, and if you need multiple like a write+read for
> >> > indirect register accesses then I'm sure you need to serialise them
> >> > against each other in some other way too, no?
> >>
> >> The issue is not serializing against separate routines calling some
> >> reads or writes, this serialization prevents the PCI hardware FIFO
> >> queue from getting more than two requests as otherwise the hardware
> >> poops out. But as you can see this is only an issue with PCI devices,
> >> not PCI express devices.
> >
> > Well yes, but if you ever do multi-read/write operations then you need
> > to synchronise at a higher level anyway -- hence I don't quite
> > understand why this is necessary at all.
> 
> Agreed as the PCI FIFO issue should be visible on even UP boxes too. I
> was trying to find out out exactly why in an SMP system this would
> occur and it seems the only thing that would cause this is two
> separate threads reading/writing. I did review this but I was unable
> to find a specific synchronization issue. Technically the most obvious
> case is where we handle the beacon tasklet on one CPU and then the
> RX/TX tasklet (this is done in just one tasklet) in another but we
> don't handle the beaconing tasklet in STA mode and this issue is seen
> immediately upon association as a STA. I've been unable to locate that
> source of possible synchronization issue. If you get an idea let me
> know.

maybe it's down to the simple fact that most mainboard nowadays
queue up pci writes? what happends when you always read the
register after it was updated?

> Your point about the simplicity of the code by always doing the
> locking makes sense and its difficult to decide whether or not we want
> that without doing elaborate tests and analysis. Only reason to
> consider this carefully is that we will in fact be changing the
> behavior of each read/write.
> 

  reply	other threads:[~2009-03-11 21:38 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-11  2:52 [PATCH v5 0/4] ath9k: SMP fixes Luis R. Rodriguez
2009-03-11  2:52 ` [PATCH v5 1/4] ath9k: implement IO serialization Luis R. Rodriguez
2009-03-11  9:10   ` Johannes Berg
2009-03-11 16:07     ` Luis R. Rodriguez
2009-03-11 17:13       ` Johannes Berg
2009-03-11 17:20         ` [ath9k-devel] " Luis R. Rodriguez
2009-03-11 17:30           ` Johannes Berg
2009-03-11 21:08             ` Luis R. Rodriguez
2009-03-11 21:38               ` Christian Lamparter [this message]
2009-03-11 20:51                 ` Luis R. Rodriguez
2009-03-11  2:52 ` [PATCH v5 2/4] ath9k: AR9280 PCI devices must serialize IO as well Luis R. Rodriguez
2009-03-11  2:52 ` [PATCH v5 3/4] ath9k: add cpu notifier to enhance device configuration Luis R. Rodriguez
2009-03-11  2:52 ` [PATCH v5 4/4] ath9k: remove dummy PCI "retry timeout" fix Luis R. Rodriguez

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=200903112238.24116.chunkeey@web.de \
    --to=chunkeey@web.de \
    --cc=Luis.Rodriguez@atheros.com \
    --cc=ath9k-devel@lists.ath9k.org \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=lrodriguez@atheros.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).