Commit 26eafeaa authored by Thomas Gleixner's avatar Thomas Gleixner
Browse files

Merge branch 'linus' into timers/core

Pick up upstream changes to get the prerequisites for the timer changes.
parents 4c3711d7 d81fa669
Loading
Loading
Loading
Loading
+6 −6
Original line number Original line Diff line number Diff line
@@ -39,8 +39,8 @@ up.
Although MT wq wasted a lot of resource, the level of concurrency
Although MT wq wasted a lot of resource, the level of concurrency
provided was unsatisfactory.  The limitation was common to both ST and
provided was unsatisfactory.  The limitation was common to both ST and
MT wq albeit less severe on MT.  Each wq maintained its own separate
MT wq albeit less severe on MT.  Each wq maintained its own separate
worker pool.  A MT wq could provide only one execution context per CPU
worker pool.  An MT wq could provide only one execution context per CPU
while a ST wq one for the whole system.  Work items had to compete for
while an ST wq one for the whole system.  Work items had to compete for
those very limited execution contexts leading to various problems
those very limited execution contexts leading to various problems
including proneness to deadlocks around the single execution context.
including proneness to deadlocks around the single execution context.


@@ -151,7 +151,7 @@ Application Programming Interface (API)


``alloc_workqueue()`` allocates a wq.  The original
``alloc_workqueue()`` allocates a wq.  The original
``create_*workqueue()`` functions are deprecated and scheduled for
``create_*workqueue()`` functions are deprecated and scheduled for
removal.  ``alloc_workqueue()`` takes three arguments - @``name``,
removal.  ``alloc_workqueue()`` takes three arguments - ``@name``,
``@flags`` and ``@max_active``.  ``@name`` is the name of the wq and
``@flags`` and ``@max_active``.  ``@name`` is the name of the wq and
also used as the name of the rescuer thread if there is one.
also used as the name of the rescuer thread if there is one.


@@ -197,7 +197,7 @@ resources, scheduled and executed.
  served by worker threads with elevated nice level.
  served by worker threads with elevated nice level.


  Note that normal and highpri worker-pools don't interact with
  Note that normal and highpri worker-pools don't interact with
  each other.  Each maintain its separate pool of workers and
  each other.  Each maintains its separate pool of workers and
  implements concurrency management among its workers.
  implements concurrency management among its workers.


``WQ_CPU_INTENSIVE``
``WQ_CPU_INTENSIVE``
@@ -249,8 +249,8 @@ unbound worker-pools and only one work item could be active at any given
time thus achieving the same ordering property as ST wq.
time thus achieving the same ordering property as ST wq.


In the current implementation the above configuration only guarantees
In the current implementation the above configuration only guarantees
ST behavior within a given NUMA node. Instead alloc_ordered_queue should
ST behavior within a given NUMA node. Instead ``alloc_ordered_queue()`` should
be used to achieve system wide ST behavior.
be used to achieve system-wide ST behavior.




Example Execution Scenarios
Example Execution Scenarios
+0 −2
Original line number Original line Diff line number Diff line
@@ -32,8 +32,6 @@ cpufreq-stats.txt - General description of sysfs cpufreq stats.


index.txt	-	File index, Mailing list and Links (this document)
index.txt	-	File index, Mailing list and Links (this document)


intel-pstate.txt -	Intel pstate cpufreq driver specific file.

pcc-cpufreq.txt -	PCC cpufreq driver specific file.
pcc-cpufreq.txt -	PCC cpufreq driver specific file.




+18 −10
Original line number Original line Diff line number Diff line
@@ -15,11 +15,14 @@ Required properties


compatible	: Must be "ams,as3645a".
compatible	: Must be "ams,as3645a".
reg		: The I2C address of the device. Typically 0x30.
reg		: The I2C address of the device. Typically 0x30.
#address-cells	: 1
#size-cells	: 0




Required properties of the "flash" child node
Required properties of the flash child node (0)
=============================================
===============================================


reg: 0
flash-timeout-us: Flash timeout in microseconds. The value must be in
flash-timeout-us: Flash timeout in microseconds. The value must be in
		  the range [100000, 850000] and divisible by 50000.
		  the range [100000, 850000] and divisible by 50000.
flash-max-microamp: Maximum flash current in microamperes. Has to be
flash-max-microamp: Maximum flash current in microamperes. Has to be
@@ -33,20 +36,21 @@ ams,input-max-microamp: Maximum flash controller input current. The
			and divisible by 50000.
			and divisible by 50000.




Optional properties of the "flash" child node
Optional properties of the flash child node
=============================================
===========================================


label		: The label of the flash LED.
label		: The label of the flash LED.




Required properties of the "indicator" child node
Required properties of the indicator child node (1)
=================================================
===================================================


reg: 1
led-max-microamp: Maximum indicator current. The allowed values are
led-max-microamp: Maximum indicator current. The allowed values are
		  2500, 5000, 7500 and 10000.
		  2500, 5000, 7500 and 10000.


Optional properties of the "indicator" child node
Optional properties of the indicator child node
=================================================
===============================================


label		: The label of the indicator LED.
label		: The label of the indicator LED.


@@ -55,16 +59,20 @@ Example
=======
=======


	as3645a@30 {
	as3645a@30 {
		#address-cells: 1
		#size-cells: 0
		reg = <0x30>;
		reg = <0x30>;
		compatible = "ams,as3645a";
		compatible = "ams,as3645a";
		flash {
		flash@0 {
			reg = <0x0>;
			flash-timeout-us = <150000>;
			flash-timeout-us = <150000>;
			flash-max-microamp = <320000>;
			flash-max-microamp = <320000>;
			led-max-microamp = <60000>;
			led-max-microamp = <60000>;
			ams,input-max-microamp = <1750000>;
			ams,input-max-microamp = <1750000>;
			label = "as3645a:flash";
			label = "as3645a:flash";
		};
		};
		indicator {
		indicator@1 {
			reg = <0x1>;
			led-max-microamp = <10000>;
			led-max-microamp = <10000>;
			label = "as3645a:indicator";
			label = "as3645a:indicator";
		};
		};
+2 −0
Original line number Original line Diff line number Diff line
@@ -41,6 +41,8 @@ Required properties:
    - "renesas,hscif-r8a7795" for R8A7795 (R-Car H3) HSCIF compatible UART.
    - "renesas,hscif-r8a7795" for R8A7795 (R-Car H3) HSCIF compatible UART.
    - "renesas,scif-r8a7796" for R8A7796 (R-Car M3-W) SCIF compatible UART.
    - "renesas,scif-r8a7796" for R8A7796 (R-Car M3-W) SCIF compatible UART.
    - "renesas,hscif-r8a7796" for R8A7796 (R-Car M3-W) HSCIF compatible UART.
    - "renesas,hscif-r8a7796" for R8A7796 (R-Car M3-W) HSCIF compatible UART.
    - "renesas,scif-r8a77970" for R8A77970 (R-Car V3M) SCIF compatible UART.
    - "renesas,hscif-r8a77970" for R8A77970 (R-Car V3M) HSCIF compatible UART.
    - "renesas,scif-r8a77995" for R8A77995 (R-Car D3) SCIF compatible UART.
    - "renesas,scif-r8a77995" for R8A77995 (R-Car D3) SCIF compatible UART.
    - "renesas,hscif-r8a77995" for R8A77995 (R-Car D3) HSCIF compatible UART.
    - "renesas,hscif-r8a77995" for R8A77995 (R-Car D3) HSCIF compatible UART.
    - "renesas,scifa-sh73a0" for SH73A0 (SH-Mobile AG5) SCIFA compatible UART.
    - "renesas,scifa-sh73a0" for SH73A0 (SH-Mobile AG5) SCIFA compatible UART.
+4 −3
Original line number Original line Diff line number Diff line
@@ -196,12 +196,13 @@ struct driver_attribute {
};
};


Device drivers can export attributes via their sysfs directories. 
Device drivers can export attributes via their sysfs directories. 
Drivers can declare attributes using a DRIVER_ATTR macro that works
Drivers can declare attributes using a DRIVER_ATTR_RW and DRIVER_ATTR_RO
identically to the DEVICE_ATTR macro. 
macro that works identically to the DEVICE_ATTR_RW and DEVICE_ATTR_RO
macros.


Example:
Example:


DRIVER_ATTR(debug,0644,show_debug,store_debug);
DRIVER_ATTR_RW(debug);


This is equivalent to declaring:
This is equivalent to declaring:


Loading