Skip to content

Commit 229641a

Browse files
committed
Merge tag 'v3.9-rc5' into wq/for-3.10
Writeback conversion to workqueue will be based on top of wq/for-3.10 branch to take advantage of custom attrs and NUMA support for unbound workqueues. Mainline currently contains two commits which result in non-trivial merge conflicts with wq/for-3.10 and because block/for-3.10/core is based on v3.9-rc3 which contains one of the conflicting commits, we need a pre-merge-window merge anyway. Let's pull v3.9-rc5 into wq/for-3.10 so that the block tree doesn't suffer from workqueue merge conflicts. The two conflicts and their resolutions: * e68035f ("workqueue: convert to idr_alloc()") in mainline changes worker_pool_assign_id() to use idr_alloc() instead of the old idr interface. worker_pool_assign_id() goes through multiple locking changes in wq/for-3.10 causing the following conflict. static int worker_pool_assign_id(struct worker_pool *pool) { int ret; <<<<<<< HEAD lockdep_assert_held(&wq_pool_mutex); do { if (!idr_pre_get(&worker_pool_idr, GFP_KERNEL)) return -ENOMEM; ret = idr_get_new(&worker_pool_idr, pool, &pool->id); } while (ret == -EAGAIN); ======= mutex_lock(&worker_pool_idr_mutex); ret = idr_alloc(&worker_pool_idr, pool, 0, 0, GFP_KERNEL); if (ret >= 0) pool->id = ret; mutex_unlock(&worker_pool_idr_mutex); >>>>>>> c67bf53 return ret < 0 ? ret : 0; } We want locking from the former and idr_alloc() usage from the latter, which can be combined to the following. static int worker_pool_assign_id(struct worker_pool *pool) { int ret; lockdep_assert_held(&wq_pool_mutex); ret = idr_alloc(&worker_pool_idr, pool, 0, 0, GFP_KERNEL); if (ret >= 0) { pool->id = ret; return 0; } return ret; } * eb28342 ("workqueue: fix possible pool stall bug in wq_unbind_fn()") updated wq_unbind_fn() such that it has single larger for_each_std_worker_pool() loop instead of two separate loops with a schedule() call inbetween. wq/for-3.10 renamed pool->assoc_mutex to pool->manager_mutex causing the following conflict (earlier function body and comments omitted for brevity). static void wq_unbind_fn(struct work_struct *work) { ... spin_unlock_irq(&pool->lock); <<<<<<< HEAD mutex_unlock(&pool->manager_mutex); } ======= mutex_unlock(&pool->assoc_mutex); >>>>>>> c67bf53 schedule(); <<<<<<< HEAD for_each_cpu_worker_pool(pool, cpu) ======= >>>>>>> c67bf53 atomic_set(&pool->nr_running, 0); spin_lock_irq(&pool->lock); wake_up_worker(pool); spin_unlock_irq(&pool->lock); } } The resolution is mostly trivial. We want the control flow of the latter with the rename of the former. static void wq_unbind_fn(struct work_struct *work) { ... spin_unlock_irq(&pool->lock); mutex_unlock(&pool->manager_mutex); schedule(); atomic_set(&pool->nr_running, 0); spin_lock_irq(&pool->lock); wake_up_worker(pool); spin_unlock_irq(&pool->lock); } } Signed-off-by: Tejun Heo <[email protected]>
2 parents d55262c + 07961ac commit 229641a

File tree

1,122 files changed

+12784
-6048
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,122 files changed

+12784
-6048
lines changed

CREDITS

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -953,11 +953,11 @@ S: Blacksburg, Virginia 24061
953953
S: USA
954954

955955
N: Randy Dunlap
956-
957-
W: http://www.xenotime.net/linux/linux.html
958-
W: http://www.linux-usb.org
956+
957+
W: http://www.infradead.org/~rdunlap/
959958
D: Linux-USB subsystem, USB core/UHCI/printer/storage drivers
960959
D: x86 SMP, ACPI, bootflag hacking
960+
D: documentation, builds
961961
S: (ask for current address)
962962
S: USA
963963

@@ -1510,6 +1510,14 @@ D: Natsemi ethernet
15101510
D: Cobalt Networks (x86) support
15111511
D: This-and-That
15121512

1513+
N: Mark M. Hoffman
1514+
1515+
D: asb100, lm93 and smsc47b397 hardware monitoring drivers
1516+
D: hwmon subsystem core
1517+
D: hwmon subsystem maintainer
1518+
D: i2c-sis96x and i2c-stub SMBus drivers
1519+
S: USA
1520+
15131521
N: Dirk Hohndel
15141522
15151523
D: The XFree86[tm] Project

Documentation/SubmittingPatches

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,7 @@ own source tree. For example:
6060
"dontdiff" is a list of files which are generated by the kernel during
6161
the build process, and should be ignored in any diff(1)-generated
6262
patch. The "dontdiff" file is included in the kernel tree in
63-
2.6.12 and later. For earlier kernel versions, you can get it
64-
from <http://www.xenotime.net/linux/doc/dontdiff>.
63+
2.6.12 and later.
6564

6665
Make sure your patch does not include any extra files which do not
6766
belong in a patch submission. Make sure to review your patch -after-

Documentation/device-mapper/dm-raid.txt

Lines changed: 37 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ The target is named "raid" and it accepts the following parameters:
3030
raid10 Various RAID10 inspired algorithms chosen by additional params
3131
- RAID10: Striped Mirrors (aka 'Striping on top of mirrors')
3232
- RAID1E: Integrated Adjacent Stripe Mirroring
33+
- RAID1E: Integrated Offset Stripe Mirroring
3334
- and other similar RAID10 variants
3435

3536
Reference: Chapter 4 of
@@ -64,15 +65,15 @@ The target is named "raid" and it accepts the following parameters:
6465
synchronisation state for each region.
6566

6667
[raid10_copies <# copies>]
67-
[raid10_format near]
68+
[raid10_format <near|far|offset>]
6869
These two options are used to alter the default layout of
6970
a RAID10 configuration. The number of copies is can be
70-
specified, but the default is 2. There are other variations
71-
to how the copies are laid down - the default and only current
72-
option is "near". Near copies are what most people think of
73-
with respect to mirroring. If these options are left
74-
unspecified, or 'raid10_copies 2' and/or 'raid10_format near'
75-
are given, then the layouts for 2, 3 and 4 devices are:
71+
specified, but the default is 2. There are also three
72+
variations to how the copies are laid down - the default
73+
is "near". Near copies are what most people think of with
74+
respect to mirroring. If these options are left unspecified,
75+
or 'raid10_copies 2' and/or 'raid10_format near' are given,
76+
then the layouts for 2, 3 and 4 devices are:
7677
2 drives 3 drives 4 drives
7778
-------- ---------- --------------
7879
A1 A1 A1 A1 A2 A1 A1 A2 A2
@@ -85,6 +86,33 @@ The target is named "raid" and it accepts the following parameters:
8586
3-device layout is what might be called a 'RAID1E - Integrated
8687
Adjacent Stripe Mirroring'.
8788

89+
If 'raid10_copies 2' and 'raid10_format far', then the layouts
90+
for 2, 3 and 4 devices are:
91+
2 drives 3 drives 4 drives
92+
-------- -------------- --------------------
93+
A1 A2 A1 A2 A3 A1 A2 A3 A4
94+
A3 A4 A4 A5 A6 A5 A6 A7 A8
95+
A5 A6 A7 A8 A9 A9 A10 A11 A12
96+
.. .. .. .. .. .. .. .. ..
97+
A2 A1 A3 A1 A2 A2 A1 A4 A3
98+
A4 A3 A6 A4 A5 A6 A5 A8 A7
99+
A6 A5 A9 A7 A8 A10 A9 A12 A11
100+
.. .. .. .. .. .. .. .. ..
101+
102+
If 'raid10_copies 2' and 'raid10_format offset', then the
103+
layouts for 2, 3 and 4 devices are:
104+
2 drives 3 drives 4 drives
105+
-------- ------------ -----------------
106+
A1 A2 A1 A2 A3 A1 A2 A3 A4
107+
A2 A1 A3 A1 A2 A2 A1 A4 A3
108+
A3 A4 A4 A5 A6 A5 A6 A7 A8
109+
A4 A3 A6 A4 A5 A6 A5 A8 A7
110+
A5 A6 A7 A8 A9 A9 A10 A11 A12
111+
A6 A5 A9 A7 A8 A10 A9 A12 A11
112+
.. .. .. .. .. .. .. .. ..
113+
Here we see layouts closely akin to 'RAID1E - Integrated
114+
Offset Stripe Mirroring'.
115+
88116
<#raid_devs>: The number of devices composing the array.
89117
Each device consists of two entries. The first is the device
90118
containing the metadata (if any); the second is the one containing the
@@ -142,3 +170,5 @@ Version History
142170
1.3.0 Added support for RAID 10
143171
1.3.1 Allow device replacement/rebuild for RAID 10
144172
1.3.2 Fix/improve redundancy checking for RAID10
173+
1.4.0 Non-functional change. Removes arg from mapping function.
174+
1.4.1 Add RAID10 "far" and "offset" algorithm support.

Documentation/devicetree/bindings/mfd/ab8500.txt

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@ Required parent device properties:
1313
4 = active high level-sensitive
1414
8 = active low level-sensitive
1515

16-
Optional parent device properties:
17-
- reg : contains the PRCMU mailbox address for the AB8500 i2c port
18-
1916
The AB8500 consists of a large and varied group of sub-devices:
2017

2118
Device IRQ Names Supply Names Description
@@ -86,9 +83,8 @@ Non-standard child device properties:
8683
- stericsson,amic2-bias-vamic1 : Analoge Mic wishes to use a non-standard Vamic
8784
- stericsson,earpeice-cmv : Earpeice voltage (only: 950 | 1100 | 1270 | 1580)
8885

89-
ab8500@5 {
86+
ab8500 {
9087
compatible = "stericsson,ab8500";
91-
reg = <5>; /* mailbox 5 is i2c */
9288
interrupts = <0 40 0x4>;
9389
interrupt-controller;
9490
#interrupt-cells = <2>;

Documentation/devicetree/bindings/tty/serial/of-serial.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ Required properties:
1111
- "nvidia,tegra20-uart"
1212
- "nxp,lpc3220-uart"
1313
- "ibm,qpace-nwp-serial"
14+
- "altr,16550-FIFO32"
15+
- "altr,16550-FIFO64"
16+
- "altr,16550-FIFO128"
1417
- "serial" if the port type is unknown.
1518
- reg : offset and length of the register set for the device.
1619
- interrupts : should contain uart interrupt.

Documentation/hwmon/adm1275

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Supported chips:
1515
Addresses scanned: -
1616
Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1276.pdf
1717

18-
Author: Guenter Roeck <[email protected]>
18+
Author: Guenter Roeck <[email protected]>
1919

2020

2121
Description

Documentation/hwmon/adt7410

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,14 @@ Kernel driver adt7410
44
Supported chips:
55
* Analog Devices ADT7410
66
Prefix: 'adt7410'
7-
Addresses scanned: I2C 0x48 - 0x4B
7+
Addresses scanned: None
88
Datasheet: Publicly available at the Analog Devices website
99
http://www.analog.com/static/imported-files/data_sheets/ADT7410.pdf
10+
* Analog Devices ADT7420
11+
Prefix: 'adt7420'
12+
Addresses scanned: None
13+
Datasheet: Publicly available at the Analog Devices website
14+
http://www.analog.com/static/imported-files/data_sheets/ADT7420.pdf
1015

1116
Author: Hartmut Knaack <[email protected]>
1217

@@ -27,6 +32,10 @@ value per second or even justget one sample on demand for power saving.
2732
Besides, it can completely power down its ADC, if power management is
2833
required.
2934

35+
The ADT7420 is register compatible, the only differences being the package,
36+
a slightly narrower operating temperature range (-40°C to +150°C), and a
37+
better accuracy (0.25°C instead of 0.50°C.)
38+
3039
Configuration Notes
3140
-------------------
3241

Documentation/hwmon/jc42

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ Supported chips:
4949
Addresses scanned: I2C 0x18 - 0x1f
5050

5151
Author:
52-
Guenter Roeck <[email protected]>
52+
Guenter Roeck <[email protected]>
5353

5454

5555
Description

Documentation/hwmon/lineage-pem

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Supported devices:
88
Documentation:
99
http://www.lineagepower.com/oem/pdf/CPLI2C.pdf
1010

11-
Author: Guenter Roeck <[email protected]>
11+
Author: Guenter Roeck <[email protected]>
1212

1313

1414
Description

Documentation/hwmon/lm25066

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Supported chips:
1919
Datasheet:
2020
http://www.national.com/pf/LM/LM5066.html
2121

22-
Author: Guenter Roeck <[email protected]>
22+
Author: Guenter Roeck <[email protected]>
2323

2424

2525
Description

0 commit comments

Comments
 (0)