summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-12-04Merge branch 'for-rmk' of git://git.fluff.org/bjdooks/linux into devel-stableRussell King
Conflicts: arch/arm/Kconfig
2009-12-04blkio: Allow CFQ group IO scheduling even when CFQ is a moduleVivek Goyal
o Now issues of blkio controller and CFQ in module mode should be fixed. Enable the cfq group scheduling support in module mode. Signed-off-by: Vivek Goyal <vgoyal@redhat.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2009-12-04blkio: Implement dynamic io controlling policy registrationVivek Goyal
o One of the goals of block IO controller is that it should be able to support mulitple io control policies, some of which be operational at higher level in storage hierarchy. o To begin with, we had one io controlling policy implemented by CFQ, and I hard coded the CFQ functions called by blkio. This created issues when CFQ is compiled as module. o This patch implements a basic dynamic io controlling policy registration functionality in blkio. This is similar to elevator functionality where ioschedulers register the functions dynamically. o Now in future, when more IO controlling policies are implemented, these can dynakically register with block IO controller. Signed-off-by: Vivek Goyal <vgoyal@redhat.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2009-12-04blkio: Export some symbols from blkio as its user CFQ can be a moduleVivek Goyal
o blkio controller is inside the kernel and cfq makes use of interfaces exported by blkio. CFQ can be a module too, hence export symbols used by CFQ. Signed-off-by: Vivek Goyal <vgoyal@redhat.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2009-12-04block: Fix io_context leak after failure of clone with CLONE_IOLouis Rilling
With CLONE_IO, parent's io_context->nr_tasks is incremented, but never decremented whenever copy_process() fails afterwards, which prevents exit_io_context() from calling IO schedulers exit functions. Give a task_struct to exit_io_context(), and call exit_io_context() instead of put_io_context() in copy_process() cleanup path. Signed-off-by: Louis Rilling <louis.rilling@kerlabs.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2009-12-04block: Fix io_context leak after clone with CLONE_IOLouis Rilling
With CLONE_IO, copy_io() increments both ioc->refcount and ioc->nr_tasks. However exit_io_context() only decrements ioc->refcount if ioc->nr_tasks reaches 0. Always call put_io_context() in exit_io_context(). Signed-off-by: Louis Rilling <louis.rilling@kerlabs.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2009-12-04Merge branch 'topic/hda' into for-linusTakashi Iwai
2009-12-04Merge branch 'topic/asoc' into for-linusTakashi Iwai
2009-12-04Merge branch 'topic/misc' into for-linusTakashi Iwai
2009-12-04Merge branch 'topic/core-change' into for-linusTakashi Iwai
2009-12-04Merge branch 'pending-dma-streaming' (early part) into develRussell King
2009-12-04Merge branch 'pending-dma-coherent' into develRussell King
2009-12-04Merge branch 'pending-misc' (early part) into develRussell King
2009-12-04ARM: I-cache: flush executable mappings in flush_cache_range()Russell King
Dirk Behme reported instability on ARM11 SMP (VIPT non-aliasing cache) caused by the dynamic linker changing protection on text pages to write GOT entries. The problem is due to an interaction between the write faulting code providing new anonymous pages which are incoherent with the I-cache due to write buffering, and the I-cache not having been invalidated. a4db94d plugs the hole with the data cache coherency. This patch provides the other half of the fix by flushing the I-cache in flush_cache_range() for VM_EXEC VMAs (which is what we have when the region is being made executable again.) This ensures that the I-cache will be up to date with the newly COW'd pages. Note: if users are writing instructions, then they still need to use the ARM sys_cacheflush API to ensure that the caches are correctly synchronized. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-04ARM: I-cache: avoid flushing in flush_cache_mm()Russell King
flush_cache_mm() is called in two cases: 1. when a process exits, just before the page tables are torn down. We can allow the stale lines to evict themselves over time without causing any harm. 2. when a process forks, and we've allocated a new ASID. The instruction cache issues are dealt with as pages are brought into the new process address space. Flushing the I-cache here is therefore unnecessary. However, we must keep the VIPT aliasing D-cache flush to ensure that any dirty cache lines are not written back after the pages have been reallocated for some other use - which would result in corruption. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-04ARM: I-cache: Add invalidation for VIVT ASID tagged cachesRussell King
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-04ARM: 5794/1: Flush the D-cache during copy_user_highpage()Catalin Marinas
The I and D caches for copy-on-write pages on processors with write-allocate caches become incoherent causing problems on application relying on CoW for text pages (dynamic linker relocating symbols in a text page). This patch flushes the D-cache for such pages. Cc: Nicolas Pitre <nico@fluxnic.net> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-04ARM: Remove __flush_icache_all() from __flush_dcache_page()Russell King
Both call sites for __flush_dcache_page() end up calling __flush_icache_all() themselves, so having __flush_dcache_page() do this as well is wasteful. Remove the duplicated icache flushing. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-04ARM: Move __flush_icache_all() out of flush_pfn_alias()Russell King
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-04ARM: Reduce __flush_dcache_page() visibilityRussell King
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-04mx31moboard: fix typoRobert Schwebel
Currently, linux-next breaks due to a typo introduced in commit 33c4d91928bea4444b067e620496befbeb87029c This patch fixes it. Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de> Cc: Valentin Longchamp <valentin.longchamp@epfl.ch> Cc: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-12-04cfq-iosched: make nonrot check logic consistentShaohua Li
cfq_arm_slice_timer() has logic to disable idle window for SSD device. The same thing should be done at cfq_select_queue() too, otherwise we will still see idle window. This makes the nonrot check logic consistent in cfq. Tests in a intel SSD with low_latency knob close, below patch can triple disk thoughput for muti-thread sequential read. Signed-off-by: Shaohua Li <shaohua.li@intel.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2009-12-04S3C64XX: Staticise platform data for PCM devicesMark Brown
The symbols aren't declared and don't need to be exported, they go along with the device structure. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Ben Dooks <ben-linux@fluff.org>
2009-12-04ASoC: Rename controls with a / in wm_hubsJoonyoung Shim
This renames from a character / to : of controls. A / occurs below error messages. ASoC: Failed to create IN2RP/VXRP debugfs file ASoC: Failed to create IN2LP/VXRN debugfs file Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-12-04io controller: quick fix for blk-cgroup and modular CFQJens Axboe
It's currently not an allowed configuration, so express that in Kconfig. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2009-12-04cfq-iosched: move IO controller declerations to a header fileJens Axboe
They should not be declared inside some other file that's not related to CFQ. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2009-12-03tcp: fix a timewait refcnt raceEric Dumazet
After TCP RCU conversion, tw->tw_refcnt should not be set to 1 in inet_twsk_alloc(). It allows a RCU reader to get this timewait socket, while we not yet stabilized it. Only choice we have is to set tw_refcnt to 0 in inet_twsk_alloc(), then atomic_add() it later, once everything is done. Location of this atomic_add() is tricky, because we dont want another writer to find this timewait in ehash, while tw_refcnt is still zero ! Thanks to Kapil Dakhane tests and reports. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-12-03tcp: connect() race with timewait reuseEric Dumazet
Its currently possible that several threads issuing a connect() find the same timewait socket and try to reuse it, leading to list corruptions. Condition for bug is that these threads bound their socket on same address/port of to-be-find timewait socket, and connected to same target. (SO_REUSEADDR needed) To fix this problem, we could unhash timewait socket while holding ehash lock, to make sure lookups/changes will be serialized. Only first thread finds the timewait socket, other ones find the established socket and return an EADDRNOTAVAIL error. This second version takes into account Evgeniy's review and makes sure inet_twsk_put() is called outside of locked sections. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-12-03be2net: Add support for ethtool self testSuresh R
This patch adds support for ethtool selftest. From: Suresh R <sureshr@serverengines.com> Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-12-03tcp: diag: Dont report negative values for rx queueEric Dumazet
Both netlink and /proc/net/tcp interfaces can report transient negative values for rx queue. ss -> State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB -6 6 127.0.0.1:45956 127.0.0.1:3333 netstat -> tcp 4294967290 6 127.0.0.1:37784 127.0.0.1:3333 ESTABLISHED This is because we dont lock socket while computing tp->rcv_nxt - tp->copied_seq, and another CPU can update copied_seq before rcv_next in RX path. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-12-03net: Fix ks8851 snl NULL pointer dereference OopsTristram Ha
This fixes the NULL pointer dereference Oops in the ks8851 snl network driver during transmission. All socket buffers from the queue are processed inside the loop, but new workqueues have been scheduled to run. Signed-off-by: Tristram Ha <Tristram.Ha@micrel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-12-03netdevice: provide common routine for macvlan and vlan operstate managementPatrick Mullaney
Provide common routine for the transition of operational state for a leaf device during a root device transition. Signed-off-by: Patrick Mullaney <pmullaney@novell.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-12-03bnx2: Refine VPD logic.Michael Chan
- Replace magic values with constants - Simplify length calculation and fix a bug Based on valuable feedback from Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-12-03ixgbe: use EIAM to automask MSI-XJesse Brandeburg
when disabling interrupts, driver was writing with IO, this is no necessary because on ixgbe parts the hardware can "oneshot" disable and clear the interrupt. So on 82598/82599 use of EIAM should avoid one posted write per interrupt when in MSI-X mode. This should improve performance and seems to in my limited testing, reduce CPU utilization VERY slightly. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-12-03ixgbe: performance tweaksJesse Brandeburg
drop variables that had cache lines modified in simultaneous hot paths. keep some variables modified on hot paths but make their storage per queue. cache align DMA data buffer start addresses. cache align (padding) some structures that end within a cacheline. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-12-03ixgbe: change default ring sizeJesse Brandeburg
decrease the memory utilization of the tx / rx queue allocation by changing the default ring size to 512 (from 1024). At 1024 rx entries of 2KB each (from 4kB slab) with 16 queues ixgbe was using 64 MB of memory per port, which is not necessary. Users can still change queue lengths with ethtool -k. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-12-03ixgbe: select FCoE Tx queue in ndo_select_queueYi Zou
This removes the Tx queue selection for FCoE traffic from ixgbe_xmit_frame() and does it in the ndo_select_queue() call, moving all Tx queue selection into a single routine. Signed-off-by: Yi Zou <yi.zou@intel.com> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-12-03ixgbe: use known user priority for FCoE when DCB is enabledYi Zou
Store the user priority for FCoE and use it directly for outgoing FCoE traffic when DCB is enabled. Signed-off-by: Yi Zou <yi.zou@intel.com> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-12-03usbnet & cdc-ether: Autosuspend for online devicesOliver Neukum
Using remote wakeup and delayed transmission to allow online device to go into usb autosuspend. Minimal alternate support for devices that don't support remote wakeup. Signed-off-by: Oliver Neukum <oliver@neukum.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-12-03cdc-ether: Implement reset_resume()Oliver Neukum
Normal resume can do double duty as reset_resume() for this driver as it keeps no state in the device Signed-off-by: Oliver Neukum <oliver@neukum.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-12-03libata: Clarify ata_set_lba_range_entries functionMartin K. Petersen
ata_set_lba_range_entries used the variable max for two different things which was confusing. Make the function take a buffer size in bytes as argument and return the used buffer size upon completion. Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2009-12-03libata: Report zeroed read after TRIM and max discard sizeMartin K. Petersen
Our current TRIM payload is a single sector that can accommodate 64 * 65535 blocks being unmapped. Report this value in the Block Limits Maximum Unmap LBA count field. If a storage device supports TRIM and the DRAT and RZAT bits are set, report TPRZ=1 in Read Capacity(16). Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2009-12-03pata_hpt3x2n: fix overclocked MWDMA0 timingBartlomiej Zolnierkiewicz
Remove superfluous timings table entry while at it. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2009-12-03pata_it8213: MWDMA0 is unsupportedBartlomiej Zolnierkiewicz
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2009-12-03[libata] MWDMA0 is unsupported on PIIX-like PATA controllersBartlomiej Zolnierkiewicz
MWDMA0 timings cannot be met with the PIIX based controller programming interface. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2009-12-03ARM: S3C6410: Correct names of IISv4 data output pin definitionsMark Brown
The naming of the defines suggests that there are three IISv4 ports with one data line each when in fact there is a single IISv4 port with three data lines. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-12-03ARM: Merge next-s3c64xx-updatesBen Dooks
Merge branch 'next-s3c64xx-updates' into for-rmk Conflicts: arch/arm/plat-s3c/dev-hsmmc2.c arch/arm/plat-s3c/include/plat/sdhci.h
2009-12-03Merge branch 'master' of ↵David S. Miller
git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6
2009-12-03ARM: Merge next-s3c24xx-dev-rtpBen Dooks
Merge branch 'next-s3c24xx-dev-rtp' into for-rmk Conflicts: arch/arm/mach-s3c2440/mach-anubis.c
2009-12-03ARM: Merge next-s3c24xx-simtecBen Dooks
Merge branch 'next-s3c24xx-simtec' into for-rmk