Skip to content

Commit

Permalink
Merge branch 'writeback-workqueue' of git://git.kernel.org/pub/scm/li…
Browse files Browse the repository at this point in the history
…nux/kernel/git/tj/wq into for-3.10/core

Tejun writes:

-----

This is the pull request for the earlier patchset[1] with the same
name.  It's only three patches (the first one was committed to
workqueue tree) but the merge strategy is a bit involved due to the
dependencies.

* Because the conversion needs features from wq/for-3.10,
  block/for-3.10/core is based on rc3, and wq/for-3.10 has conflicts
  with rc3, I pulled mainline (rc5) into wq/for-3.10 to prevent those
  workqueue conflicts from flaring up in block tree.

* Resolving the issue that Jan and Dave raised about debugging
  requires arch-wide changes.  The patchset is being worked on[2] but
  it'll have to go through -mm after these changes show up in -next,
  and not included in this pull request.

The three commits are located in the following git branch.

  git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git writeback-workqueue

Pulling it into block/for-3.10/core produces a conflict in
drivers/md/raid5.c between the following two commits.

  e3620a3 ("MD RAID5: Avoid accessing gendisk or queue structs when not available")
  2f6db2a ("raid5: use bio_reset()")

The conflict is trivial - one removes an "if ()" conditional while the
other removes "rbi->bi_next = NULL" right above it.  We just need to
remove both.  The merged branch is available at

  git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git block-test-merge

so that you can use it for verification.  The test merge commit has
proper merge description.

While these changes are a bit of pain to route, they make code simpler
and even have, while minute, measureable performance gain[3] even on a
workload which isn't particularly favorable to showing the benefits of
this conversion.

----

Fixed up the conflict.

Conflicts:
	drivers/md/raid5.c

Signed-off-by: Jens Axboe <[email protected]>
  • Loading branch information
axboe committed Apr 2, 2013
2 parents f1fb344 + b5c872d commit 64f8de4
Show file tree
Hide file tree
Showing 572 changed files with 8,549 additions and 4,406 deletions.
8 changes: 8 additions & 0 deletions CREDITS
Original file line number Diff line number Diff line change
Expand Up @@ -1510,6 +1510,14 @@ D: Natsemi ethernet
D: Cobalt Networks (x86) support
D: This-and-That

N: Mark M. Hoffman
E: [email protected]
D: asb100, lm93 and smsc47b397 hardware monitoring drivers
D: hwmon subsystem core
D: hwmon subsystem maintainer
D: i2c-sis96x and i2c-stub SMBus drivers
S: USA

N: Dirk Hohndel
E: [email protected]
D: The XFree86[tm] Project
Expand Down
2 changes: 1 addition & 1 deletion Documentation/hwmon/lm75
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Supported chips:
Datasheet: Publicly available at the Maxim website
http://www.maxim-ic.com/
* Microchip (TelCom) TCN75
Prefix: 'lm75'
Prefix: 'tcn75'
Addresses scanned: none
Datasheet: Publicly available at the Microchip website
http://www.microchip.com/
Expand Down
2 changes: 1 addition & 1 deletion Documentation/i2c/busses/i2c-diolan-u2c
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Supported adapters:
Documentation:
http://www.diolan.com/i2c/u2c12.html

Author: Guenter Roeck <[email protected]>
Author: Guenter Roeck <[email protected]>

Description
-----------
Expand Down
9 changes: 9 additions & 0 deletions Documentation/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3222,6 +3222,15 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
or other driver-specific files in the
Documentation/watchdog/ directory.

workqueue.disable_numa
By default, all work items queued to unbound
workqueues are affine to the NUMA nodes they're
issued on, which results in better behavior in
general. If NUMA affinity needs to be disabled for
whatever reason, this option can be used. Note
that this also can be controlled per-workqueue for
workqueues visible under /sys/bus/workqueue/.

x2apic_phys [X86-64,APIC] Use x2apic physical mode instead of
default x2apic cluster mode on platforms
supporting x2apic.
Expand Down
7 changes: 7 additions & 0 deletions Documentation/networking/ipvs-sysctl.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,13 @@ amemthresh - INTEGER
enabled and the variable is automatically set to 2, otherwise
the strategy is disabled and the variable is set to 1.

backup_only - BOOLEAN
0 - disabled (default)
not 0 - enabled

If set, disable the director function while the server is
in backup mode to avoid packet loops for DR/TUN methods.

conntrack - BOOLEAN
0 - disabled (default)
not 0 - enabled
Expand Down
2 changes: 1 addition & 1 deletion Documentation/sound/alsa/ALSA-Configuration.txt
Original file line number Diff line number Diff line change
Expand Up @@ -912,7 +912,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
models depending on the codec chip. The list of available models
is found in HD-Audio-Models.txt

The model name "genric" is treated as a special case. When this
The model name "generic" is treated as a special case. When this
model is given, the driver uses the generic codec parser without
"codec-patch". It's sometimes good for testing and debugging.

Expand Down
2 changes: 1 addition & 1 deletion Documentation/sound/alsa/seq_oss.html
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,7 @@ <H4>
<H4>
7.2.4 Close Callback</H4>
The <TT>close</TT> callback is called when this device is closed by the
applicaion. If any private data was allocated in open callback, it must
application. If any private data was allocated in open callback, it must
be released in the close callback. The deletion of ALSA port should be
done here, too. This callback must not be NULL.
<H4>
Expand Down
56 changes: 29 additions & 27 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -1338,12 +1338,6 @@ S: Maintained
F: drivers/platform/x86/asus*.c
F: drivers/platform/x86/eeepc*.c

ASUS ASB100 HARDWARE MONITOR DRIVER
M: "Mark M. Hoffman" <[email protected]>
L: [email protected]
S: Maintained
F: drivers/hwmon/asb100.c

ASYNCHRONOUS TRANSFERS/TRANSFORMS (IOAT) API
M: Dan Williams <[email protected]>
W: http://sourceforge.net/projects/xscaleiop
Expand Down Expand Up @@ -1467,6 +1461,12 @@ F: drivers/dma/at_hdmac.c
F: drivers/dma/at_hdmac_regs.h
F: include/linux/platform_data/dma-atmel.h

ATMEL I2C DRIVER
M: Ludovic Desroches <[email protected]>
L: [email protected]
S: Supported
F: drivers/i2c/busses/i2c-at91.c

ATMEL ISI DRIVER
M: Josh Wu <[email protected]>
L: [email protected]
Expand Down Expand Up @@ -2629,7 +2629,7 @@ F: include/uapi/drm/

INTEL DRM DRIVERS (excluding Poulsbo, Moorestown and derivative chipsets)
M: Daniel Vetter <[email protected]>
L: [email protected] (subscribers-only)
L: [email protected]
L: [email protected]
T: git git://people.freedesktop.org/~danvet/drm-intel
S: Supported
Expand Down Expand Up @@ -3242,6 +3242,12 @@ F: Documentation/firmware_class/
F: drivers/base/firmware*.c
F: include/linux/firmware.h

FLASHSYSTEM DRIVER (IBM FlashSystem 70/80 PCI SSD Flash Card)
M: Joshua Morris <[email protected]>
M: Philip Kelleher <[email protected]>
S: Maintained
F: drivers/block/rsxx/

FLOPPY DRIVER
M: Jiri Kosina <[email protected]>
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/floppy.git
Expand Down Expand Up @@ -3851,7 +3857,7 @@ F: drivers/i2c/busses/i2c-ismt.c
F: Documentation/i2c/busses/i2c-ismt

I2C/SMBUS STUB DRIVER
M: "Mark M. Hoffman" <[email protected]>
M: Jean Delvare <[email protected]>
L: [email protected]
S: Maintained
F: drivers/i2c/i2c-stub.c
Expand Down Expand Up @@ -5647,6 +5653,14 @@ S: Maintained
F: drivers/video/riva/
F: drivers/video/nvidia/

NVM EXPRESS DRIVER
M: Matthew Wilcox <[email protected]>
L: [email protected]
T: git git://git.infradead.org/users/willy/linux-nvme.git
S: Supported
F: drivers/block/nvme.c
F: include/linux/nvme.h

OMAP SUPPORT
M: Tony Lindgren <[email protected]>
L: [email protected]
Expand Down Expand Up @@ -5675,7 +5689,7 @@ S: Maintained
F: arch/arm/*omap*/*clock*

OMAP POWER MANAGEMENT SUPPORT
M: Kevin Hilman <khilman@ti.com>
M: Kevin Hilman <khilman@deeprootsystems.com>
L: [email protected]
S: Maintained
F: arch/arm/*omap*/*pm*
Expand Down Expand Up @@ -5769,7 +5783,7 @@ F: arch/arm/*omap*/usb*

OMAP GPIO DRIVER
M: Santosh Shilimkar <[email protected]>
M: Kevin Hilman <khilman@ti.com>
M: Kevin Hilman <khilman@deeprootsystems.com>
L: [email protected]
S: Maintained
F: drivers/gpio/gpio-omap.c
Expand Down Expand Up @@ -6201,7 +6215,7 @@ F: include/linux/power_supply.h
F: drivers/power/

PNP SUPPORT
M: Adam Belay <[email protected]>
M: Rafael J. Wysocki <[email protected]>
M: Bjorn Helgaas <[email protected]>
S: Maintained
F: drivers/pnp/
Expand Down Expand Up @@ -6543,12 +6557,6 @@ S: Maintained
F: Documentation/blockdev/ramdisk.txt
F: drivers/block/brd.c

RAMSAM DRIVER (IBM RamSan 70/80 PCI SSD Flash Card)
M: Joshua Morris <[email protected]>
M: Philip Kelleher <[email protected]>
S: Maintained
F: drivers/block/rsxx/

RANDOM NUMBER DRIVER
M: Theodore Ts'o" <[email protected]>
S: Maintained
Expand Down Expand Up @@ -7165,7 +7173,7 @@ F: arch/arm/mach-s3c2410/bast-irq.c

TI DAVINCI MACHINE SUPPORT
M: Sekhar Nori <[email protected]>
M: Kevin Hilman <khilman@ti.com>
M: Kevin Hilman <khilman@deeprootsystems.com>
L: [email protected] (moderated for non-subscribers)
T: git git://gitorious.org/linux-davinci/linux-davinci.git
Q: http://patchwork.kernel.org/project/linux-davinci/list/
Expand Down Expand Up @@ -7198,13 +7206,6 @@ L: [email protected]
S: Maintained
F: drivers/net/ethernet/sis/sis900.*

SIS 96X I2C/SMBUS DRIVER
M: "Mark M. Hoffman" <[email protected]>
L: [email protected]
S: Maintained
F: Documentation/i2c/busses/i2c-sis96x
F: drivers/i2c/busses/i2c-sis96x.c

SIS FRAMEBUFFER DRIVER
M: Thomas Winischhofer <[email protected]>
W: http://www.winischhofer.net/linuxsisvga.shtml
Expand Down Expand Up @@ -7282,7 +7283,7 @@ F: Documentation/hwmon/sch5627
F: drivers/hwmon/sch5627.c

SMSC47B397 HARDWARE MONITOR DRIVER
M: "Mark M. Hoffman" <[email protected]>
M: Jean Delvare <[email protected]>
L: [email protected]
S: Maintained
F: Documentation/hwmon/smsc47b397
Expand Down Expand Up @@ -7705,9 +7706,10 @@ F: include/linux/swiotlb.h

SYNOPSYS ARC ARCHITECTURE
M: Vineet Gupta <[email protected]>
L: [email protected]
S: Supported
F: arch/arc/
F: Documentation/devicetree/bindings/arc/
F: drivers/tty/serial/arc-uart.c

SYSV FILESYSTEM
M: Christoph Hellwig <[email protected]>
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
VERSION = 3
PATCHLEVEL = 9
SUBLEVEL = 0
EXTRAVERSION = -rc3
EXTRAVERSION = -rc5
NAME = Unicycling Gorilla

# *DOCUMENTATION*
Expand Down
2 changes: 1 addition & 1 deletion arch/arc/include/asm/dma-mapping.h
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ dma_map_sg(struct device *dev, struct scatterlist *sg,
int i;

for_each_sg(sg, s, nents, i)
sg->dma_address = dma_map_page(dev, sg_page(s), s->offset,
s->dma_address = dma_map_page(dev, sg_page(s), s->offset,
s->length, dir);

return nents;
Expand Down
3 changes: 0 additions & 3 deletions arch/arc/include/asm/elf.h
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,4 @@ extern int elf_check_arch(const struct elf32_hdr *);
*/
#define ELF_PLATFORM (NULL)

#define SET_PERSONALITY(ex) \
set_personality(PER_LINUX | (current->personality & (~PER_MASK)))

#endif
2 changes: 1 addition & 1 deletion arch/arc/include/asm/entry.h
Original file line number Diff line number Diff line change
Expand Up @@ -415,7 +415,7 @@
*-------------------------------------------------------------*/
.macro SAVE_ALL_EXCEPTION marker

st \marker, [sp, 8]
st \marker, [sp, 8] /* orig_r8 */
st r0, [sp, 4] /* orig_r0, needed only for sys calls */

/* Restore r9 used to code the early prologue */
Expand Down
6 changes: 2 additions & 4 deletions arch/arc/include/asm/kgdb.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

#ifdef CONFIG_KGDB

#include <asm/user.h>
#include <asm/ptrace.h>

/* to ensure compatibility with Linux 2.6.35, we don't implement the get/set
* register API yet */
Expand Down Expand Up @@ -53,9 +53,7 @@ enum arc700_linux_regnums {
};

#else
static inline void kgdb_trap(struct pt_regs *regs, int param)
{
}
#define kgdb_trap(regs, param)
#endif

#endif /* __ARC_KGDB_H__ */
2 changes: 1 addition & 1 deletion arch/arc/include/asm/ptrace.h
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ static inline long regs_return_value(struct pt_regs *regs)
#define orig_r8_IS_SCALL 0x0001
#define orig_r8_IS_SCALL_RESTARTED 0x0002
#define orig_r8_IS_BRKPT 0x0004
#define orig_r8_IS_EXCPN 0x0004
#define orig_r8_IS_EXCPN 0x0008
#define orig_r8_IS_IRQ1 0x0010
#define orig_r8_IS_IRQ2 0x0020

Expand Down
2 changes: 0 additions & 2 deletions arch/arc/include/asm/syscalls.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@
#include <linux/types.h>

int sys_clone_wrapper(int, int, int, int, int);
int sys_fork_wrapper(void);
int sys_vfork_wrapper(void);
int sys_cacheflush(uint32_t, uint32_t uint32_t);
int sys_arc_settls(void *);
int sys_arc_gettls(void);
Expand Down
4 changes: 2 additions & 2 deletions arch/arc/include/uapi/asm/ptrace.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,14 @@
*/
struct user_regs_struct {

struct scratch {
struct {
long pad;
long bta, lp_start, lp_end, lp_count;
long status32, ret, blink, fp, gp;
long r12, r11, r10, r9, r8, r7, r6, r5, r4, r3, r2, r1, r0;
long sp;
} scratch;
struct callee {
struct {
long pad;
long r25, r24, r23, r22, r21, r20;
long r19, r18, r17, r16, r15, r14, r13;
Expand Down
27 changes: 1 addition & 26 deletions arch/arc/kernel/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -452,7 +452,7 @@ tracesys:
; using ERET won't work since next-PC has already committed
lr r12, [efa]
GET_CURR_TASK_FIELD_PTR TASK_THREAD, r11
st r12, [r11, THREAD_FAULT_ADDR]
st r12, [r11, THREAD_FAULT_ADDR] ; thread.fault_address

; PRE Sys Call Ptrace hook
mov r0, sp ; pt_regs needed
Expand Down Expand Up @@ -792,31 +792,6 @@ ARC_EXIT ret_from_fork

;################### Special Sys Call Wrappers ##########################

; TBD: call do_fork directly from here
ARC_ENTRY sys_fork_wrapper
SAVE_CALLEE_SAVED_USER
bl @sys_fork
DISCARD_CALLEE_SAVED_USER

GET_CURR_THR_INFO_FLAGS r10
btst r10, TIF_SYSCALL_TRACE
bnz tracesys_exit

b ret_from_system_call
ARC_EXIT sys_fork_wrapper

ARC_ENTRY sys_vfork_wrapper
SAVE_CALLEE_SAVED_USER
bl @sys_vfork
DISCARD_CALLEE_SAVED_USER

GET_CURR_THR_INFO_FLAGS r10
btst r10, TIF_SYSCALL_TRACE
bnz tracesys_exit

b ret_from_system_call
ARC_EXIT sys_vfork_wrapper

ARC_ENTRY sys_clone_wrapper
SAVE_CALLEE_SAVED_USER
bl @sys_clone
Expand Down
1 change: 1 addition & 0 deletions arch/arc/kernel/kgdb.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
*/

#include <linux/kgdb.h>
#include <linux/sched.h>
#include <asm/disasm.h>
#include <asm/cacheflush.h>

Expand Down
4 changes: 1 addition & 3 deletions arch/arc/kernel/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -232,10 +232,8 @@ char *arc_extn_mumbojumbo(int cpu_id, char *buf, int len)

n += scnprintf(buf + n, len - n, "\n");

#ifdef _ASM_GENERIC_UNISTD_H
n += scnprintf(buf + n, len - n,
"OS ABI [v2]\t: asm-generic/{unistd,stat,fcntl}\n");
#endif
"OS ABI [v3]\t: no-legacy-syscalls\n");

return buf;
}
Expand Down
2 changes: 0 additions & 2 deletions arch/arc/kernel/sys.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@
#include <asm/syscalls.h>

#define sys_clone sys_clone_wrapper
#define sys_fork sys_fork_wrapper
#define sys_vfork sys_vfork_wrapper

#undef __SYSCALL
#define __SYSCALL(nr, call) [nr] = (call),
Expand Down
Loading

0 comments on commit 64f8de4

Please sign in to comment.