aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-11-20target_core_alua: Store supported ALUA statesHannes Reinecke3-6/+20
The supported ALUA states might be different for individual devices, so store it in a separate field. (nab: Remove unnecessary line continuation) Signed-off-by: Hannes Reinecke <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
2013-11-20target_core_alua: Rename ALUA_ACCESS_STATE_OPTIMIZEDHannes Reinecke2-6/+6
Rename ALUA_ACCESS_STATE_OPTMIZED to ALUA_ACCESS_STATE_OPTIMIZED. Signed-off-by: Hannes Reinecke <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
2013-11-20target_core_alua: spellcheckHannes Reinecke1-9/+9
Signed-off-by: Hannes Reinecke <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
2013-11-20target core: rename (ex,im)plict -> (ex,im)plicitHannes Reinecke10-101/+101
Signed-off-by: Hannes Reinecke <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
2013-11-20NTB: Disable interrupts and poll under high loadJon Mason3-26/+48
Disable interrupts and poll under high load Signed-off-by: Jon Mason <[email protected]>
2013-11-20NTB: Enable Snoop on Primary SideJon Mason2-10/+19
Enable Snoop from Primary to Secondary side on BAR23 and BAR45 on all TLPs. Previously, Snoop was only enabled from Secondary to Primary side. This can have a performance improvement on some workloads. Also, make the code more obvious about how the link is being enabled. Signed-off-by: Jon Mason <[email protected]>
2013-11-20NTB: Document HW errataJon Mason1-0/+12
Add a comment describing the necessary ordering of modifications to the NTB Limit and Base registers. Signed-off-by: Jon Mason <[email protected]>
2013-11-20NTB: remove duplicate definesMichael Opdenacker1-3/+0
Remove duplicate defines in drivers/ntb/ntb_regs.h Signed-off-by: Michael Opdenacker <[email protected]> Signed-off-by: Jon Mason <[email protected]>
2013-11-20NTB: correct dmaengine_get/put usageJon Mason1-3/+6
dmaengine_get() causes the initialization of the per-cpu channel tables. It needs to be called prior to dma_find_channel(). Initial version by Dan Williams <[email protected]> Signed-off-by: Jon Mason <[email protected]>
2013-11-20NTB: Fix ntb_transport link down raceJon Mason1-15/+28
A WARN_ON is being hit in ntb_qp_link_work due to the NTB transport link being down while the ntb qp link is still active. This is caused by the transport link being brought down prior to the qp link worker thread being terminated. To correct this, shutdown the qp's prior to bringing the transport link down. Also, only call the qp worker thread if it is in interrupt context, otherwise call the function directly. Signed-off-by: Jon Mason <[email protected]>
2013-11-20ntb: Fix missed call to pci_enable_msix()Alexander Gordeev1-0/+4
Current MSI-X enablement code assumes MSI-Xs were successfully allocated in case less than requested vectors were available. That assumption is wrong, since MSI-Xs should be enabled with a repeated call to pci_enable_msix(). This update fixes this. Signed-off-by: Alexander Gordeev <[email protected]> Signed-off-by: Jon Mason <[email protected]>
2013-11-20NTB: Fix NTB-RP Link UpJon Mason1-8/+28
The Xeon NTB-RP setup, the transparent side does not get a link up/down interrupt. Since the presence of a NTB device on the transparent side means that we have a NTB link up, we can work around the lack of an interrupt by simply calling the link up function to notify the upper layers. Signed-off-by: Jon Mason <[email protected]>
2013-11-20NTB: Xeon Doorbell errata workaroundJon Mason2-5/+16
Modifications to the 14th bit of the B2BDOORBELL register will not be mirrored to the remote system due to a hardware issue. To get around the issue, shrink the number of available doorbell bits by 1. The max number of doorbells was being used as a way to referencing the Link Doorbell bit. Since this would no longer work, the driver must now explicitly reference that bit. This does not affect the xeon_errata_workaround case, as it is not using the b2bdoorbell register. Signed-off-by: Jon Mason <[email protected]>
2013-11-20hwmon: (acpi_power_meter) Fix acpi_bus_get_device() return value checkYijing Wang1-3/+2
Since acpi_bus_get_device() returns plain int and not acpi_status, ACPI_FAILURE() should not be used for checking its return value. Fix that. Signed-off-by: Yijing Wang <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2013-11-20ALSA: hda - Fix unbalanced runtime PM notification at resumeTakashi Iwai1-0/+4
When a codec is resumed, it keeps the power on while the resuming phase via hda_keep_power_on(), then turns down via snd_hda_power_down(). At that point, snd_hda_power_down() notifies the power down to the controller, and this may confuse the refcount if the codec was already powered up before the resume. In the end result, the controller goes to runtime suspend even before the codec is kicked off to the power save, and the communication stalls happens. The fix is to add the power-up notification together with hda_keep_power_on(), and clears the flag appropriately. Cc: <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-11-20Merge remote-tracking branch 'asoc/fix/wm8962' into asoc-linusMark Brown1-0/+2
2013-11-20Merge remote-tracking branch 'asoc/fix/rcar' into asoc-linusMark Brown2-9/+6
2013-11-20Merge remote-tracking branch 'asoc/fix/fsl' into asoc-linusMark Brown20-124/+209
2013-11-20Merge remote-tracking branch 'asoc/fix/dma' into asoc-linusMark Brown1-1/+3
2013-11-20Merge remote-tracking branch 'asoc/fix/cs42l52' into asoc-linusMark Brown1-1/+1
2013-11-20Merge remote-tracking branch 'asoc/fix/blackfin' into asoc-linusMark Brown1-0/+1
2013-11-20Merge remote-tracking branch 'asoc/fix/arizona' into asoc-linusMark Brown2-1/+46
2013-11-20Merge remote-tracking branch 'asoc/fix/ab8500' into asoc-linusMark Brown130-2990/+4164
2013-11-20ASoC: arizona: Set FLL to free-run before disablingRichard Fitzgerald1-0/+4
The FLL must be placed into free-run mode before disabling to allow it to entirely shut down. Signed-off-by: Richard Fitzgerald <[email protected]> Signed-off-by: Mark Brown <[email protected]> Cc: [email protected]
2013-11-20drm/i915: Fix gen3 self-refresh watermarksDaniel Vetter1-1/+1
This regression has been introduced in commit 4fe8590a921d0b2e36e542dbfa89a8c5993f5a3f Author: Ville Syrjälä <[email protected]> Date: Wed Sep 4 18:25:22 2013 +0300 drm/i915: Use adjusted_mode appropriately when computing watermarks I guess we should renable the enabled local variable into something a notch more descriptive, but that's something for -next. The effect on my i945gme netbook is pretty severe amounts of underruns - usually the very first pixel gets used for the entire screeen. Cc: Ville Syrjälä <[email protected]> Cc: Damien Lespiau <[email protected]> Reviewed-by: Ville Syrjälä <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2013-11-20Input: add sur40 driver for Samsung SUR40 (aka MS Surface 2.0/Pixelsense)Florian Echtler3-0/+478
This patch adds support for the built-in multitouch sensor in the Samsung SUR40 touchscreen device, also known as Microsoft Surface 2.0 or Microsoft Pixelsense. Support for raw video output from the sensor as well as the accelerometer will be added in a later patch. Signed-off-by: Florian Echtler <[email protected]> Reviewed-by: David Herrmann <[email protected]> Reviewed-by: Henrik Rydberg <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2013-11-20Merge tag 'perf-urgent-for-mingo' of ↵Ingo Molnar3-11/+31
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent Pull perf/urgent fixes from Arnaldo Carvalho de Melo: * Tag thread comm as overriden, showing the right comm for threads after forks. (Frederic Weisbecker) * Fix memory leak when processing perf.data file header. (Namhyung Kim.) * Don't try to free string constant used for anonymous event groups. (Namhyung Kim) * Fix use of multiple options in processing field in libtraceevent. (Steven Rostedt) * Fix conversion of pointer to integer of different size in libtraceevent. (Arnaldo Carvalho de Melo) Signed-off-by: Arnaldo Carvalho de Melo <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
2013-11-20ACPI / hotplug: Fix conflicted PCI bridge notify handlersToshi Kani3-1/+5
The PCI host bridge scan handler installs its own notify handler, handle_hotplug_event_root(), by itself. Nevertheless, the ACPI hotplug framework also installs the common notify handler, acpi_hotplug_notify_cb(), for PCI root bridges. This causes acpi_hotplug_notify_cb() to call _OST method with unsupported error as hotplug.enabled is not set. To address this issue, introduce hotplug.ignore flag, which indicates that the scan handler installs its own notify handler by itself. The ACPI hotplug framework does not install the common notify handler when this flag is set. Signed-off-by: Toshi Kani <[email protected]> [rjw: Changed the name of the new flag] Cc: 3.9+ <[email protected]> # 3.9+ Signed-off-by: Rafael J. Wysocki <[email protected]>
2013-11-20ALSA: hda - A casual Dell Headset quirkDavid Henningsson1-0/+1
You're looking at a casual headset patch, for a specific hardware it will match, and suddenly, the headset jack will work, so please apply this simple quirk! BugLink: https://bugs.launchpad.net/bugs/1253038 Signed-off-by: David Henningsson <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-11-20drm/ttm: Remove set_need_resched from the ttm fault handlerThomas Hellstrom3-8/+57
Addresses "[BUG] completely bonkers use of set_need_resched + VM_FAULT_NOPAGE". In the first occurence it was used to try to be nice while releasing the mmap_sem and retrying the fault to work around a locking inversion. The second occurence was never used. There has been some discussion whether we should change the locking order to mmap_sem -> bo_reserve. This patch doesn't address that issue, and leaves that locking order undefined. The solution that we release the mmap_sem if tryreserve fails and wait for the buffer to become unreserved is something we want in any case, and follows how the core vm system waits for pages to be come unlocked while releasing the mmap_sem. The code also outlines what needs to be changed if we want to establish the locking order as mmap_sem -> bo::reserve. One slight issue that remains with this code is that the fault handler might be prone to starvation if another thread countinously reserves the buffer. IMO that usage pattern is highly unlikely. Signed-off-by: Thomas Hellstrom <[email protected]>
2013-11-20drm/ttm: Don't move non-existing dataThomas Hellstrom1-2/+5
If ttm_bo_move_memcpy was instructed to move a non-populated ttm to io memory, it would first populate the ttm, then move the data and then destroy the ttm. That's stupid. However, some drivers might have relied on this to clear io memory from old stuff. So instead of a NOP, which would be the most efficient, just clear the destination. Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]>
2013-11-20kvm: mmu: delay mmu audit activationSasha Levin1-1/+1
We should not be using jump labels before they were initialized. Push back the callback to until after jump label initialization. Signed-off-by: Sasha Levin <[email protected]> Signed-off-by: Gleb Natapov <[email protected]>
2013-11-20avr32: uapi: be sure of "_UAPI" prefix for all guard macrosChen Gang31-102/+56
For all uapi headers, need use "_UAPI" prefix for its guard macro (which will be stripped by "scripts/headers_installer.sh"). Also remove redundant files (bitsperlong.h, errno.h, fcntl.h, ioctl.h, ioctls.h, ipcbuf.h, kvm_para.h, mman.h, poll.h, resource.h, siginfo.h, statfs.h, and unistd.h) which are already in Kbuild. Also be sure that all "#endif" only have one empty line above, and each file has guard macro. Signed-off-by: Chen Gang <[email protected]> Signed-off-by: Hans-Christian Egtvedt <[email protected]>
2013-11-20avr32: add kprobe_ctlblk memory structEirik Aanonsen1-0/+14
This re-enables kprobes on AVR32 architecture. Signed-off-by: Eirik Aanonsen <[email protected]> Signed-off-by: Hans-Christian Egtvedt <[email protected]>
2013-11-20avr32: fix out-of-range jump in large kernelsAndreas Bießmann2-2/+6
This patch fixes following error (for big kernels): ---8<--- arch/avr32/boot/u-boot/head.o: In function `no_tag_table': (.init.text+0x44): relocation truncated to fit: R_AVR32_22H_PCREL against symbol `panic' defined in .text.unlikely section in kernel/built-in.o arch/avr32/kernel/built-in.o: In function `bad_return': (.ex.text+0x236): relocation truncated to fit: R_AVR32_22H_PCREL against symbol `panic' defined in .text.unlikely section in kernel/built-in.o --->8--- It comes up when the kernel increases and 'panic()' is too far away to fit in the +/- 2MiB range. Which in turn issues from the 21-bit displacement in 'br{cond4}' mnemonic which is one of the two ways to do jumps (rjmp has just 10-bit displacement and therefore a way smaller range). This fact was stated before in 8d29b7b9f81d6b83d869ff054e6c189d6da73f1f. One solution to solve this is to add a local storage for the symbol address and just load the $pc with that value. Signed-off-by: Andreas Bießmann <[email protected]> Acked-by: Hans-Christian Egtvedt <[email protected]> Cc: Haavard Skinnemoen <[email protected]> Cc: [email protected]
2013-11-20avr32: setup crt for early panic()Andreas Bießmann2-25/+25
Before the CRT was (fully) set up in kernel_entry (bss cleared before in _start, but also not before jump to panic() in no_tag_table case). This patch fixes this up to have a fully working CRT when branching to panic() in no_tag_table. Signed-off-by: Andreas Bießmann <[email protected]> Acked-by: Hans-Christian Egtvedt <[email protected]> Cc: Haavard Skinnemoen <[email protected]> Cc: [email protected]
2013-11-20s390/mm: optimize copy_pageHeiko Carstens1-25/+13
Always use the mvcl instruction to copy a page instead of mvpg or a couple of mvc instructions. Copying a huge page is 25% faster this way. Also bypass caches when copying pages since only parts of a page will be used afterwards. Especially when copying a huge page this would kick everything out of the L1 and L2 data caches on a zEC12 machine. Signed-off-by: Heiko Carstens <[email protected]>
2013-11-20s390/dasd: validate request size before building CCW/TCW requestStefan Weinhuber1-0/+2
An I/O request that does not read or write full blocks cannot be translated into a correct CCW or TCW program and should be rejected right away. In particular the code that creates TCW requests will not notice this problem and create broken TCWs that will be rejected by the hardware. Signed-off-by: Stefan Weinhuber <[email protected]> Reference-ID: RQM1956
2013-11-20s390/signal: always restore saved runtime instrumentation psw bitHendrik Brueckner2-2/+2
Commit "s390: fix handling of runtime instrumentation psw bit" (5ebf250dab) changed the behavior of setting the runtime instrumentation psw bit. This commit restores the original logic: 1. When returning from the signal handler, the runtime instrumentation psw bit is restored to its saved state. 2. If the runtime instrumentation psw bit is enabled during the signal handler, it is always turned off when leaving the signal handler. The saved state is restored as described in 1. That also implies that turning on runtime instrumentation in the signal handler is only effective while running in the signal context. Signed-off-by: Hendrik Brueckner <[email protected]>
2013-11-19Check SMB3 dialects against downgrade attacksSteve French6-4/+90
When we are running SMB3 or SMB3.02 connections which are signed we need to validate the protocol negotiation information, to ensure that the negotiate protocol response was not tampered with. Add the missing FSCTL which is sent at mount time (immediately after the SMB3 Tree Connect) to validate that the capabilities match what we think the server sent. "Secure dialect negotiation is introduced in SMB3 to protect against man-in-the-middle attempt to downgrade dialect negotiation. The idea is to prevent an eavesdropper from downgrading the initially negotiated dialect and capabilities between the client and the server." For more explanation see 2.2.31.4 of MS-SMB2 or http://blogs.msdn.com/b/openspecification/archive/2012/06/28/smb3-secure-dialect-negotiation.aspx Reviewed-by: Pavel Shilovsky <[email protected]> Signed-off-by: Steve French <[email protected]>
2013-11-19percpu-refcount: Add percpu-refcount.o to obj-yRandy Dunlap1-2/+2
Drop percpu_ida.o from lib-y since it is also listed in obj-y and it doesn't need to be listed in both places. Move percpu-refcount.o from lib-y to obj-y to fix build errors in target_core_mod: ERROR: "percpu_ref_cancel_init" [drivers/target/target_core_mod.ko] undefined! ERROR: "percpu_ref_kill_and_confirm" [drivers/target/target_core_mod.ko] undefined! ERROR: "percpu_ref_init" [drivers/target/target_core_mod.ko] undefined! Signed-off-by: Randy Dunlap <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
2013-11-19iscsi-target: Do not reject non-immediate CmdSNs exceeding MaxCmdSNNicholas Bellinger2-8/+11
This patch changes iscsit_sequence_cmd() logic to no longer reject non-immediate CmdSNs that exceed MaxCmdSN with a protocol error, but instead silently ignore them. This is done to correctly follow RFC-3720 Section 3.2.2.1: For non-immediate commands, the CmdSN field can take any value from ExpCmdSN to MaxCmdSN inclusive. The target MUST silently ignore any non-immediate command outside of this range or non- immediate duplicates within the range. Reported-by: Santosh Kulkarni <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
2013-11-19iscsi-target: Convert iscsi_session statistics to atomic_long_tNicholas Bellinger6-50/+25
This patch converts a handful of iscsi_session statistics to type atomic_long_t, instead of using iscsi_session->session_stats_lock when incrementing these values. More importantly, go ahead and drop the spinlock usage within iscsit_setup_scsi_cmd(), iscsit_check_dataout_hdr(), iscsit_send_datain(), and iscsit_build_rsp_pdu() fast-path code. (Squash in Roland's target: Remove write-only stats fields and lock from struct se_node_acl) Signed-off-by: Nicholas Bellinger <[email protected]>
2013-11-20Squashfs: Check stream is not NULL in decompressor_multi.cPhillip Lougher1-4/+3
Fix static checker complaint that stream is not checked in squashfs_decompressor_destroy(). Reported-by: Dan Carpenter <[email protected]> Signed-off-by: Phillip Lougher <[email protected]> Reviewed-by: Minchan Kim <[email protected]>
2013-11-20Squashfs: Directly decompress into the page cache for file dataPhillip Lougher5-1/+336
This introduces an implementation of squashfs_readpage_block() that directly decompresses into the page cache. This uses the previously added page handler abstraction to push down the necessary kmap_atomic/kunmap_atomic operations on the page cache buffers into the decompressors. This enables direct copying into the page cache without using the slow kmap/kunmap calls. The code detects when multiple threads are racing in squashfs_readpage() to decompress the same block, and avoids this regression by falling back to using an intermediate buffer. This patch enhances the performance of Squashfs significantly when multiple processes are accessing the filesystem simultaneously because it not only reduces memcopying, but it more importantly eliminates the lock contention on the intermediate buffer. Using single-thread decompression. dd if=file1 of=/dev/null bs=4096 & dd if=file2 of=/dev/null bs=4096 & dd if=file3 of=/dev/null bs=4096 & dd if=file4 of=/dev/null bs=4096 Before: 629145600 bytes (629 MB) copied, 45.8046 s, 13.7 MB/s After: 629145600 bytes (629 MB) copied, 9.29414 s, 67.7 MB/s Signed-off-by: Phillip Lougher <[email protected]> Reviewed-by: Minchan Kim <[email protected]>
2013-11-20Squashfs: Restructure squashfs_readpage()Phillip Lougher4-71/+118
Restructure squashfs_readpage() splitting it into separate functions for datablocks, fragments and sparse blocks. Move the memcpying (from squashfs cache entry) implementation of squashfs_readpage_block into file_cache.c This allows different implementations to be supported. Signed-off-by: Phillip Lougher <[email protected]> Reviewed-by: Minchan Kim <[email protected]>
2013-11-20Squashfs: Generalise paging handling in the decompressorsPhillip Lougher13-67/+163
Further generalise the decompressors by adding a page handler abstraction. This adds helpers to allow the decompressors to access and process the output buffers in an implementation independant manner. This allows different types of output buffer to be passed to the decompressors, with the implementation specific aspects handled at decompression time, but without the knowledge being held in the decompressor wrapper code. This will allow the decompressors to handle Squashfs cache buffers, and page cache pages. This patch adds the abstraction and an implementation for the caches. Signed-off-by: Phillip Lougher <[email protected]> Reviewed-by: Minchan Kim <[email protected]>
2013-11-20Squashfs: add multi-threaded decompression using percpu variablePhillip Lougher3-20/+145
Add a multi-threaded decompression implementation which uses percpu variables. Using percpu variables has advantages and disadvantages over implementations which do not use percpu variables. Advantages: * the nature of percpu variables ensures decompression is load-balanced across the multiple cores. * simplicity. Disadvantages: it limits decompression to one thread per core. Signed-off-by: Phillip Lougher <[email protected]>
2013-11-20squashfs: Enhance parallel I/OMinchan Kim3-1/+221
Now squashfs have used for only one stream buffer for decompression so it hurts parallel read performance so this patch supports multiple decompressor to enhance performance parallel I/O. Four 1G file dd read on KVM machine which has 2 CPU and 4G memory. dd if=test/test1.dat of=/dev/null & dd if=test/test2.dat of=/dev/null & dd if=test/test3.dat of=/dev/null & dd if=test/test4.dat of=/dev/null & old : 1m39s -> new : 9s * From v1 * Change comp_strm with decomp_strm - Phillip * Change/add comments - Phillip Signed-off-by: Minchan Kim <[email protected]> Signed-off-by: Phillip Lougher <[email protected]>
2013-11-20Squashfs: Refactor decompressor interface and codePhillip Lougher11-136/+216
The decompressor interface and code was written from the point of view of single-threaded operation. In doing so it mixed a lot of single-threaded implementation specific aspects into the decompressor code and elsewhere which makes it difficult to seamlessly support multiple different decompressor implementations. This patch does the following: 1. It removes compressor_options parsing from the decompressor init() function. This allows the decompressor init() function to be dynamically called to instantiate multiple decompressors, without the compressor options needing to be read and parsed each time. 2. It moves threading and all sleeping operations out of the decompressors. In doing so, it makes the decompressors non-blocking wrappers which only deal with interfacing with the decompressor implementation. 3. It splits decompressor.[ch] into decompressor generic functions in decompressor.[ch], and moves the single threaded decompressor implementation into decompressor_single.c. The result of this patch is Squashfs should now be able to support multiple decompressors by adding new decompressor_xxx.c files with specialised implementations of the functions in decompressor_single.c Signed-off-by: Phillip Lougher <[email protected]> Reviewed-by: Minchan Kim <[email protected]>