Search Linux Wireless

Re: [PATCH] Add iwlwifi wireless drivers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
-
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux