linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: James Ketrenos <jketreno@linux.intel.com>
To: Jeff Garzik <jeff@garzik.org>
Cc: Michael Wu <flamingice@sourmilk.net>,
	"John W. Linville" <linville@tuxdriver.com>,
	linux-wireless <linux-wireless@vger.kernel.org>
Subject: Re: [PATCH]  Add iwlwifi wireless drivers
Date: Wed, 23 May 2007 12:30:37 -0700	[thread overview]
Message-ID: <4654965D.1020401@linux.intel.com> (raw)
In-Reply-To: <46549D08.3010109@garzik.org>

Jeff Garzik wrote:
> James Ketrenos wrote:
>> Given the API mac80211 exposes, and how the stack operates, I don't 
>> see how using ifsta->work as the workqueue allows the driver to no 
>> longer evaluate the potential for deadlocks and races.
> 
> For the operations in the workqueue, they are obviously serialized.

And the inverse is also true -- operations not on the workqueue are not serialized.  The driver must handle both.

>> To make the most use of the processing and power resources available, 
>> you must execute in parallel.
> 
> That's some impressive English parsing, but clearly wrong on the face of 
> it.

If you have N cores on a CPU and more than one is up, but only one gets to do anything because you've serialized everything onto a single workqueue, you are wasting CPU resources.  When you waste CPU resources you decrease system efficiency and increase power consumption.  

If you have N cores and only one is up, then the scheduler can decide to run serially if it wants, or wake up a core, or do whatever it wants.  The driver certainly shouldn't dictate policy and force everything to run serially.

> The Linus mantra cited is about MINIMALIZATION.  When you say "to 
> make the most use of..." you are MAXIMIZING something that need not be 
> maximized.

I'm really not following what your point is here.  In an attempt to twist my words, you're now saying we shouldn't maximize system efficiency.

> As repeated many times, there is no NEED to execute this slow path stuff 
> in parallel.  

I must have missed the thread where you said that many times, let alone where you proved that there is no benefit or need to  running "this slow path stuff" (however you are defining that to be) in parallel.

A driver should not be written in a way which suppresses the kernel's ability to optimize execution by forcing serialization of disjointed operations through a single workqueue.

James

  reply	other threads:[~2007-05-23 20:58 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-16 21:45 [PATCH] Add iwlwifi wireless drivers James Ketrenos
2007-05-17  1:27 ` Randy Dunlap
2007-05-17  4:28   ` James Ketrenos
2007-05-17  5:57     ` Jeff Garzik
2007-05-22 21:38       ` James Ketrenos
2007-05-18 19:01   ` James Ketrenos
2007-05-18 20:57     ` Jeff Garzik
2007-05-18 20:54       ` James Ketrenos
2007-05-18 21:06     ` Randy Dunlap
2007-05-22 18:39       ` John W. Linville
2007-05-22 18:29         ` James Ketrenos
2007-05-17  1:51 ` Michael Wu
2007-05-17  2:56   ` Jeff Garzik
2007-05-17  3:55     ` Michael Wu
2007-05-17  8:52   ` Christoph Hellwig
2007-05-22 19:16   ` James Ketrenos
2007-05-22 23:00     ` Jeff Garzik
2007-05-22 21:49       ` James Ketrenos
2007-05-22 23:41         ` Jeff Garzik
2007-05-22 22:56           ` James Ketrenos
2007-05-23  0:58             ` Jeff Garzik
2007-05-23 18:17               ` James Ketrenos
2007-05-23 19:59                 ` Jeff Garzik
2007-05-23 19:30                   ` James Ketrenos [this message]
2007-05-23  1:06     ` Michael Wu
2007-05-23  1:46       ` Jeff Garzik
2007-05-17  3:35 ` [PATCH] Add iwlwifi wireless drivers [part 2/2] Randy Dunlap
2007-05-17 15:03   ` Stephen Hemminger
2007-05-17 15:05   ` Stephen Hemminger
2007-05-18  7:04     ` Johannes Berg
2007-05-18 20:33   ` James Ketrenos
2007-05-18 22:05     ` Jeff Garzik
2007-05-18 21:31       ` James Ketrenos
2007-05-18 22:50         ` Jeff Garzik
2007-05-18 23:04         ` Christoph Hellwig
2007-05-21 14:56           ` James Ketrenos
2007-05-21 16:26             ` Christoph Hellwig
2007-05-21 16:48               ` James Ketrenos
2007-05-21 18:15                 ` Christoph Hellwig
2007-05-21 20:12                   ` Cohen, Guy
2007-05-21 21:02                     ` Jeff Garzik
2007-05-21 21:10                       ` Randy Dunlap
2007-05-21 21:43                         ` Cohen, Guy
2007-05-21 22:15                           ` Jeff Garzik
2007-05-21 21:22                     ` Joerg Mayer
2007-05-21 21:46                       ` Cohen, Guy
2007-05-18 22:13     ` Randy Dunlap
2007-05-18 23:05 ` [PATCH] Add iwlwifi wireless drivers Christoph Hellwig
2007-05-18 23:22   ` Michael Wu
2007-05-22 21:50 ` [PATCH v3] " James Ketrenos
2007-05-23  1:06   ` Jeff Garzik
2007-05-23 15:16     ` James Ketrenos

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=4654965D.1020401@linux.intel.com \
    --to=jketreno@linux.intel.com \
    --cc=flamingice@sourmilk.net \
    --cc=jeff@garzik.org \
    --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 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).