All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Williams <dcbw@redhat.com>
To: Andy Green <andy@warmcat.com>
Cc: Jiri Benc <jbenc@suse.cz>, Michael Wu <flamingice@sourmilk.net>,
	James Ketrenos <jketreno@linux.intel.com>,
	"John W. Linville" <linville@tuxdriver.com>,
	linux-wireless@vger.kernel.org
Subject: Re: [PATCH 09/13] mac80211: remove hw_scan callback
Date: Fri, 27 Apr 2007 14:09:19 -0400	[thread overview]
Message-ID: <1177697359.30796.19.camel@localhost.localdomain> (raw)
In-Reply-To: <463213D7.9070604@warmcat.com>

On Fri, 2007-04-27 at 16:16 +0100, Andy Green wrote:
> Dan Williams wrote:
> 
> > we're not being open enough to functionality that might be in hardware.
> > Holding a 100% software line with mac80211 is just IMHO wrong and
> > short-sighted.  The stack needs to be flexible WRT to the hardware
> 
> Yeah but this isn't "in hardware" -- it's in firmware: software that

I know that.  But to the driver, it might as well be in hardware.  The
driver and stack doesn't care where the functionality lives (silicon or
firmware) as long as the firmware does what's needed.

> runs of a different, vendor-specific, CPU.  Let's not talk about magic
> and impressive "hardware" when the truth is we only talk about the same
> software action on another CPU.  The problems with this particular
> offload to firmware:
> 
>  - it is vendor-specific

So is everything a driver does because the vendors make the hardware and
firmware.  We never get anywhere by being vendor-hostile.  We also never
get anywhere by kissing vendor ass.  We need to toe a line in between.

>  - it is not time-critical.  In fact it just sits there for tens of ms.
>  The extra us lost going through mac80211 when it wants to change the
> frequency should not be measurable.  It's not like it is some special
> DSP in there that is computing PI faster than the main CPU in the box
> can.  It is just changing the frequency now and then, which can
> perfectly well be done in the stack

I'm using hw_scan as a vehicle for my larger point.  But the point is
still valid even if hw_scan is not time critical.

>  - it is not exploitable in other ways.  If we want to talk about
> "short-sighted", let's talk about managing what can be very generic RF
> hardware in a way that can never do anything but IEEE802.11a/b/g actions

We can't and shouldn't try to coerce every piece of hardware into a 100%
userspace-controllable SDR.  While that would pretty much solve all
_our_ problems (but not everyone else's), it's a pipe-dream and
unrealistic.

> > capabilities of the parts that we expect to use it.  Saying no to
> > hardware scanning just because it can also be done in software too is
> > wrong.
> 
> To be clear, this isn't a "hardware" action, just an opaque software API
> specific to that chipset, and that runs on a CPU in the chipset.
> 
> > with.  It's already in, right?  Ripping it out for a 100% software
> > agenda is wrong.  Let's take out crypto offload then too if we're going
> 
> The iwlwifi proposal is for an opaque vendor-specific firmware API, that
> is also "100% software".  Don't get confused by the bogus magic alleged
> "hardware" nomenclature.

I've been burned by wifi firmware/hardware a lot in the past.  All
firmware is a black box API.  But the reality of life is that we're not
going to open all vendor firmware overnight, and I can't actually think
of any vendor that provides the source and build tools for their
firmware.  That's a reality we have to deal with.  We can and should
encourage openness; but hostility gets us nowhere.

Just because it's a black box _doesn't_ mean we make it impossible to
utilize specific features that some hardware has, like crypto offload or
hwscan.  _That's_ the short-sighted part.  We need to keep flexibility
in the stack to make this sort of thing possible and let people
experiment with it.

Dan

> > to take a consistently 100% software line.  Again, it's not either
> > software or hardware; it's a spectrum of capabilities and we shouldn't
> > be making the stack _less_ flexible.
> 
> Yeah let's make the stack completely flexible and either keep control of
> the scan action in the stack, or eventually move it to usermode, in both
> cases doing the scan action well ONCE for ALL drivers.
> 
> -Andy


  parent reply	other threads:[~2007-04-27 18:06 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-23 18:48 [PATCH 01/13] mac80211: Add radiotap support Michael Wu
2007-04-23 18:48 ` [PATCH 02/13] sync with radiotap header in wireless-2.6 Michael Wu
2007-04-23 18:48 ` [PATCH 05/13] mac80211: remove statistics callback for master device Michael Wu
2007-04-23 18:48 ` [PATCH 03/13] mac80211: fix virtual interface related locking Michael Wu
2007-04-23 20:41   ` Jiri Benc
2007-04-23 20:55     ` Michael Wu
2007-04-23 22:20       ` Michael Wu
2007-04-23 20:58   ` Andy Green
2007-04-23 21:21     ` Michael Wu
2007-04-24 18:09       ` Andy Green
2007-04-24 18:24         ` Michael Wu
2007-04-24 18:59           ` John W. Linville
2007-04-25 12:09           ` Johannes Berg
2007-04-23 18:48 ` [PATCH 06/13] mac80211: avoid flush_scheduled_work Michael Wu
2007-04-23 18:48 ` [PATCH 04/13] mac80211: disable tasklets on close Michael Wu
2007-04-23 20:53   ` Jiri Benc
2007-04-23 18:48 ` [PATCH 07/13] mac80211: fix configuration concurrency issues in ieee80211_sta.c Michael Wu
2007-04-24 16:19   ` Johannes Berg
2007-04-23 18:48 ` [PATCH 09/13] mac80211: remove hw_scan callback Michael Wu
2007-04-24 16:20   ` Johannes Berg
2007-04-26 12:48     ` Michael Wu
2007-04-25  5:03   ` James Ketrenos
2007-04-25 18:16     ` John W. Linville
2007-04-25 20:34       ` Michael Wu
2007-04-26 21:57         ` James Ketrenos
2007-04-27  0:23           ` Michael Wu
2007-04-27  4:14             ` James Ketrenos
2007-04-27  7:44               ` Andy Green
2007-04-27  8:06                 ` James Ketrenos
2007-04-27  8:54                   ` Andy Green
2007-04-27  9:00               ` Jiri Benc
2007-04-27 15:32               ` Michael Wu
2007-04-29 11:55                 ` Guy Cohen
2007-04-27  6:54             ` James Ketrenos
2007-04-27 14:27               ` Michael Wu
2007-05-08 17:08               ` Michael Wu
2007-04-27 14:28             ` Dan Williams
2007-04-27 14:42               ` Jiri Benc
2007-04-27 14:56                 ` Dan Williams
2007-04-27 15:16                   ` Andy Green
2007-04-27 15:22                     ` Johannes Berg
2007-04-27 17:17                       ` James Ketrenos
2007-04-27 17:49                       ` Dan Williams
2007-04-27 18:09                     ` Dan Williams [this message]
2007-04-27 18:52                       ` Andy Green
2007-04-27 15:20                   ` Jiri Benc
2007-04-27 15:30                     ` Andy Green
2007-04-27 15:36                       ` Jiri Benc
2007-04-27 15:52                         ` Andy Green
2007-04-27 17:44                         ` James Ketrenos
2007-04-27 17:02                     ` James Ketrenos
2007-04-27 18:10                       ` Jiri Benc
2007-04-27 19:42                         ` Dan Williams
2007-04-27 19:47                           ` Jiri Benc
2007-04-27 19:52                     ` John W. Linville
2007-04-26  3:03       ` James Ketrenos
2007-04-27 20:47   ` James Ketrenos
2007-04-28 13:25     ` Jiri Benc
2007-04-23 18:48 ` [PATCH 12/13] mac80211: prevent master device from going up without ieee80211 qdisc Michael Wu
2007-04-23 18:48 ` [PATCH 08/13] mac80211: misc cleanups in ieee80211_sta.c Michael Wu
2007-04-23 18:48 ` [PATCH 10/13] mac80211: set bssid to broadcast before scan Michael Wu
2007-04-24 16:24   ` Johannes Berg
2007-04-27 17:40     ` Jiri Benc
2007-04-27 19:49       ` Michael Wu
2007-04-27 21:18         ` Michael Wu
2007-04-27 21:29           ` Michael Wu
2007-04-23 18:48 ` [PATCH 11/13] mac80211: fix issues in ieee80211 qdisc Michael Wu
2007-04-23 18:48 ` [PATCH 13/13] mac80211: stop all virtual interfaces when master device goes down Michael Wu
2007-04-23 20:58   ` Jiri Benc
2007-04-24 16:16 ` [PATCH 01/13] mac80211: Add radiotap support Johannes Berg
2007-04-28 13:18 ` Jiri Benc

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=1177697359.30796.19.camel@localhost.localdomain \
    --to=dcbw@redhat.com \
    --cc=andy@warmcat.com \
    --cc=flamingice@sourmilk.net \
    --cc=jbenc@suse.cz \
    --cc=jketreno@linux.intel.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.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 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.