aboutsummaryrefslogtreecommitdiff
path: root/include/linux
AgeCommit message (Collapse)AuthorFilesLines
2011-03-13usb: Change usb_hcd->bandwidth_mutex to a pointer.Sarah Sharp1-1/+1
Change the bandwith_mutex in struct usb_hcd to a pointer. This will allow the pointer to be shared across usb_hcds for the upcoming work to split the xHCI driver roothub into a USB 2.0/1.1 and a USB 3.0 bus. Signed-off-by: Sarah Sharp <[email protected]>
2011-03-13USB 3.0 Hub ChangesJohn Youn1-4/+37
Update the USB core to deal with USB 3.0 hubs. These hubs have a slightly different hub descriptor than USB 2.0 hubs, with a fixed (rather than variable length) size. Change the USB core's hub descriptor to have a union for the last fields that differ. Change the host controller drivers that access those last fields (DeviceRemovable and PortPowerCtrlMask) to use the union. Translate the new version of the hub port status field into the old version that khubd understands. (Note: we need to fix it to translate the roothub's port status once we stop converting it to USB 2.0 hub status internally.) Add new code to handle link state change status. Send out new control messages that are needed for USB 3.0 hubs, like Set Hub Depth. This patch is a modified version of the original patch submitted by John Youn. It's updated to reflect the removal of the "bitmap" #define, and change the hub descriptor accesses of a couple new host controller drivers. Signed-off-by: John Youn <[email protected]> Signed-off-by: Sarah Sharp <[email protected]> Cc: Nobuhiro Iwamatsu <[email protected]> Cc: Inaky Perez-Gonzalez <[email protected]> Cc: Tony Olech <[email protected]> Cc: "Robert P. J. Day" <[email protected]> Cc: Max Vozeler <[email protected]> Cc: Tejun Heo <[email protected]> Cc: Yoshihiro Shimoda <[email protected]> Cc: Rodolfo Giometti <[email protected]> Cc: Mike Frysinger <[email protected]> Cc: Anton Vorontsov <[email protected]> Cc: Sebastian Siewior <[email protected]> Cc: Lothar Wassmann <[email protected]> Cc: Olav Kongas <[email protected]> Cc: Martin Fuzzey <[email protected]> Cc: Alan Stern <[email protected]> Cc: David Brownell <[email protected]>
2011-03-13USB: Remove bitmap #define from hcd.hSarah Sharp1-7/+0
Using a #define to redefine a common variable name is a bad thing, especially when the #define is in a header. include/linux/usb/hcd.h redefined bitmap to DeviceRemovable to avoid typing a long field in the hub descriptor. This has unintended side effects for files like drivers/usb/core/devio.c that include that file, since another header included after hcd.h has different variables named bitmap. Remove the bitmap #define and replace instances of it in the host controller code. Cleanup the spaces around function calls and square brackets while we're at it. Signed-off-by: Sarah Sharp <[email protected]> Cc: Nobuhiro Iwamatsu <[email protected]> Cc: Inaky Perez-Gonzalez <[email protected]> Cc: Tony Olech <[email protected]> Cc: "Robert P. J. Day" <[email protected]> Cc: Max Vozeler <[email protected]> Cc: Tejun Heo <[email protected]> Cc: Yoshihiro Shimoda <[email protected]> Cc: Rodolfo Giometti <[email protected]> Cc: Mike Frysinger <[email protected]> Cc: Anton Vorontsov <[email protected]> Cc: Sebastian Siewior <[email protected]> Cc: Lothar Wassmann <[email protected]> Cc: Olav Kongas <[email protected]> Cc: Martin Fuzzey <[email protected]> Cc: Alan Stern <[email protected]> Cc: David Brownell <[email protected]>
2011-03-13tipc: Correct misnamed references to neighbor discovery domainAllan Stephens1-1/+1
Renames items that are improperly labelled as "network scope" items (which are represented by simple integer values) rather than "network domain" items (which are represented by <Z.C.N>-type network addresses). This change is purely cosmetic, and does not affect the operation of TIPC. Signed-off-by: Allan Stephens <[email protected]> Signed-off-by: Paul Gortmaker <[email protected]>
2011-03-13tipc: Eliminate configuration for maximum number of cluster nodesAllan Stephens1-2/+2
Gets rid of the need for users to specify the maximum number of cluster nodes supported by TIPC. TIPC now automatically provides support for all 4K nodes allowed by its addressing scheme. Note: This change sets TIPC's memory usage to the amount used by a maximum size node table with 4K entries. An upcoming patch that converts the node table from a linear array to a hash table will compact the node table to a more efficient design, but for clarity it is nice to have all the Kconfig infrastruture go away separately. Signed-off-by: Allan Stephens <[email protected]> Signed-off-by: Paul Gortmaker <[email protected]>
2011-03-12ipv6: Convert to use flowi6 where applicable.David S. Miller1-2/+2
Signed-off-by: David S. Miller <[email protected]>
2011-03-12Merge branch 'for-davem' of ↵David S. Miller1-0/+3
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6
2011-03-12Merge branch 'irq/core' into x86/irqThomas Gleixner3-95/+429
Reason: Enabling irq threads and update to latest genirq functionality requires the core code Signed-off-by: Thomas Gleixner <[email protected]>
2011-03-12genirq: Add chip flag to force mask on suspendThomas Gleixner1-0/+2
On suspend we disable all interrupts in the core code, but this does not mask the interrupt line in the default implementation as we use a lazy disable approach. That means we mark the interrupt disabled, but leave the hardware unmasked. That's an optimization because we avoid the hardware access for the common case where no interrupt happens after we marked it disabled. If an interrupt happens, then the interrupt flow handler masks the line at the hardware level and marks it pending. Suspend makes use of this delayed disable as it "disables" all interrupts when preparing the suspend transition. Right before the system goes into hardware suspend state it checks whether one of the interrupts which is marked as a wakeup interrupt came in after disabling it. Most interrupt chips have a separate register which selects the interrupts which can wake up the system from suspend, so we don't have to mask any on the non wakeup interrupts. But now we have to deal with brilliant designed hardware which lacks such a wakeup configuration facility. For such hardware it's necessary to mask all non wakeup interrupts before going into suspend in order to avoid the wakeup from random interrupts. Rather than working around this in the affected interrupt chip implementations we can solve this elegant in the core code itself. Add a flag IRQCHIP_MASK_ON_SUSPEND which can be set by the irq chip implementation to indicate, that the interrupts which are not selected as wakeup sources must be masked in the suspend path. Mask them in the loop which checks the wakeup interrupts pending flag. Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Abhijeet Dharmapurikar <[email protected]> LKML-Reference: <[email protected]>
2011-03-12gpio/mcp23s08: support mcp23s17 variantPeter Korsgaard1-6/+9
mpc23s17 is very similar to the mcp23s08, except that registers are 16bit wide, so extend the interface to work with both variants. The s17 variant also has an additional address pin, so adjust platform data structure to support up to 8 devices per SPI chipselect. Signed-off-by: Peter Korsgaard <[email protected]> Signed-off-by: Grant Likely <[email protected]>
2011-03-12Merge commit 'v2.6.38-rc8' into spi/nextGrant Likely26-56/+111
Conflicts: drivers/spi/pxa2xx_spi_pci.c
2011-03-11usb: host: Add EHCI driver for NVIDIA Tegra SoCsBenoit Goby2-1/+34
The Tegra 2 SoC has 3 EHCI compatible USB controllers. This patch adds the necessary glue to allow the ehci-hcd driver to work on Tegra 2 SoCs. The platform data is used to configure board-specific phy settings and to configure the operating mode, as one of the ports may be used as a otg port. For additional power saving, the driver supports powering down the phy on bus suspend when it is used, for example, to connect an internal device that use an out-of-band remote wakeup mechanism (e.g. a gpio). Signed-off-by: Benoit Goby <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-03-11usb: otg: Add ulpi viewport access opsBenoit Goby1-0/+5
Add generic access ops for controllers with a ulpi viewport register (e.g. Chipidea/ARC based controllers). Signed-off-by: Benoit Goby <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-03-11NFSv4: Send unmapped uid/gids to the server when using auth_sysTrond Myklebust1-0/+1
The new behaviour is enabled using the new module parameter 'nfs4_disable_idmapping'. Note that if the server rejects an unmapped uid or gid, then the client will automatically switch back to using the idmapper. Signed-off-by: Trond Myklebust <[email protected]>
2011-03-11NFSv4: cleanup idmapper functions to take an nfs_server argumentTrond Myklebust1-4/+5
...instead of the nfs_client. Signed-off-by: Trond Myklebust <[email protected]>
2011-03-11NFSv4.1: rearrange ->doio argsFred Isaman1-2/+2
This will make it possible to clear the lseg pointer in the same function as it is put, instead of in the caller nfs_pageio_doio(). Signed-off-by: Fred Isaman <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2011-03-11NFSv4.1: pnfs filelayout driver writeFred Isaman1-0/+2
Allows the pnfs filelayout driver to write to the data servers. Note that COMMIT to data servers will be implemented in a future patch. To avoid improper behavior, for the moment any WRITE to a data server that would also require a COMMIT to the data server is sent NFS_FILE_SYNC. Signed-off-by: Andy Adamson <[email protected]> Signed-off-by: Dean Hildebrand <[email protected]> Signed-off-by: Fred Isaman <[email protected]> Signed-off-by: Mingyang Guo <[email protected]> Signed-off-by: Oleg Drokin <[email protected]> Signed-off-by: Ricardo Labiaga <[email protected]> Signed-off-by: Andy Adamson <[email protected]> Signed-off-by: Benny Halevy <[email protected]> Signed-off-by: Fred Isaman <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2011-03-11NFSv4.1: implement generic pnfs layer write switchAndy Adamson2-0/+2
Signed-off-by: Andy Adamson <[email protected]> Signed-off-by: Boaz Harrosh <[email protected]> Signed-off-by: Dean Hildebrand <[email protected]> Signed-off-by: Fred Isaman <[email protected]> Signed-off-by: J. Bruce Fields <[email protected]> Signed-off-by: Mike Sager <[email protected]> Signed-off-by: Ricardo Labiaga <[email protected]> Signed-off-by: Tao Guo <[email protected]> Signed-off-by: Andy Adamson <[email protected]> Signed-off-by: Benny Halevy <[email protected]> Signed-off-by: Fred Isaman <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2011-03-11NFSv4.1: Send lseg down into nfs_write_rpcsetupFred Isaman1-0/+1
We grab the lseg sent in from the doio function and attach it to each struct nfs_write_data created. This is how the lseg will be sent to the layout driver. Signed-off-by: Fred Isaman <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2011-03-11NFSv4.1: add callback to nfs4_write_doneFred Isaman1-0/+1
Add callback that pnfs layout driver can use to do its own handling of data server WRITE response. Signed-off-by: Fred Isaman <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2011-03-11NFSv4.1 move deviceid cache to filelayout driverChristoph Hellwig1-1/+0
No need for generic cache with only one user. Keep a simple hash of deviceids in the filelayout driver. Signed-off-by: Christoph Hellwig <[email protected]> Acked-by: Andy Adamson <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2011-03-11NFSv4.1: filelayout async error handlerAndy Adamson2-0/+2
Use our own async error handler. Mark the layout as failed and retry i/o through the MDS on specified errors. Update the mds_offset in nfs_readpage_retry so that a failed short-read retry to a DS gets correctly resent through the MDS. Signed-off-by: Andy Adamson <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2011-03-11NFSv4.1: filelayout readAndy Adamson1-0/+1
Attempt a pNFS file layout read by setting up the nfs_read_data struct and calling nfs_initiate_read with the data server rpc client and the filelayout rpc call ops. Error handling is implemented in a subsequent patch. Signed-off-by: Andy Adamson <[email protected]> Signed-off-by: Dean Hildebrand <[email protected]> Signed-off-by: Fred Isaman <[email protected]> Signed-off-by: Fred Isaman <[email protected]> Signed-off-by: Mingyang Guo <[email protected]> Signed-off-by: Oleg Drokin <[email protected]> Signed-off-by: Ricardo Labiaga <[email protected]> Tested-by: Guo Mingyang <[email protected]> Signed-off-by: Andy Adamson <[email protected]> Signed-off-by: Benny Halevy <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2011-03-11NFSv4.1: data server connectionAndy Adamson1-0/+1
Introduce a data server set_client and init session following the nfs4_set_client and nfs4_init_session convention. Once a new nfs_client is on the nfs_client_list, the nfs_client cl_cons_state serializes access to creating an nfs_client struct with matching properties. Use the new nfs_get_client() that initializes new clients. Signed-off-by: Andy Adamson <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2011-03-11NFSv4.1: generic readAndy Adamson2-0/+2
Separate the rpc run portion of nfs_read_rpcsetup into a new function nfs_initiate_read that is called for normal NFS I/O. Add a pNFS read_pagelist function that is called instead of nfs_intitate_read for pNFS reads. Signed-off-by: Andy Adamson <[email protected]> Signed-off-by: Boaz Harrosh <[email protected]> Signed-off-by: Dean Hildebrand <[email protected]> Signed-off-by: Fred Isaman <[email protected]> Signed-off-by: Fred Isaman <[email protected]> Signed-off-by: Mike Sager <[email protected]> Signed-off-by: Mingyang Guo <[email protected]> Signed-off-by: Ricardo Labiaga <[email protected]> Signed-off-by: Tao Guo <[email protected]> Signed-off-by: Andy Adamson <[email protected]> Signed-off-by: Benny Halevy <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2011-03-11NFSv4.1: shift pnfs_update_layout locationsFred Isaman2-2/+3
Move the pnfs_update_layout call location to nfs_pageio_do_add_request(). Grab the lseg sent in the doio function to nfs_read_rpcsetup and attach it to each nfs_read_data so it can be sent to the layout driver. Signed-off-by: Andy Adamson <[email protected]> Signed-off-by: Andy Adamson <[email protected]> Signed-off-by: Dean Hildebrand <[email protected]> Signed-off-by: Fred Isaman <[email protected]> Signed-off-by: Fred Isaman <[email protected]> Signed-off-by: Benny Halevy <[email protected]> Signed-off-by: Boaz Harrosh <[email protected]> Signed-off-by: Oleg Drokin <[email protected]> Signed-off-by: Tao Guo <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2011-03-11NFSv4.1: coelesce across layout stripesFred Isaman1-0/+2
Add a pg_test layout driver hook which is used to avoid coelescing I/O across layout stripes. Signed-off-by: Andy Adamson <[email protected]> Signed-off-by: Andy Adamson <[email protected]> Signed-off-by: Dean Hildebrand <[email protected]> Signed-off-by: Fred Isaman <[email protected]> Signed-off-by: Fred Isaman <[email protected]> Signed-off-by: Benny Halevy <[email protected]> Signed-off-by: Boaz Harrosh <[email protected]> Signed-off-by: Oleg Drokin <[email protected]> Signed-off-by: Tao Guo <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2011-03-11NFSv4.1: new flag for lease time checkAndy Adamson1-0/+1
Data servers cannot send nfs4_proc_get_lease_time. but still need to setup state renewal. Add the NFS_CS_CHECK_LEASE_TIME bit to indicate if the lease time can be checked. Signed-off-by: Andy Adamson <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2011-03-11NFSv4.1: new flag for state renewal checkAndy Adamson1-0/+1
Data servers not sharing a session with the mount MDS always have an empty cl_superblocks list. Replace the cl_superblocks empty list check to see if it is time to shut down renewd with the NFS_CS_STOP_RENEW bit which is not set by such a data server. Signed-off-by: Andy Adamson <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2011-03-11NFS move nfs_client initialization into nfs_get_clientAndy Adamson1-0/+3
Now nfs_get_client returns an nfs_client ready to be used no matter if it was found or created. Signed-off-by: Andy Adamson <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2011-03-11NFSv4: remove CONFIG_NFS_V4 from nfs_read_dataAndy Adamson1-2/+0
Cleanup nfs_read_data. We also won't use CONFIG_NFS_V4_1 for additional NFSv4.1 fields in subsequent patches. Signed-off-by: Andy Adamson <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2011-03-11NFS: change nfs_writeback_done to return voidFred Isaman1-1/+1
The return values are not used by any callers. Signed-off-by: Fred Isaman <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2011-03-11NFSv4/4.1: Fix nfs4_schedule_state_recovery abusesTrond Myklebust1-5/+3
nfs4_schedule_state_recovery() should only be used when we need to force the state manager to check the lease. If we just want to start the state manager in order to handle a state recovery situation, we should be using nfs4_schedule_state_manager(). This patch fixes the abuses of nfs4_schedule_state_recovery() by replacing its use with a set of helper functions that do the right thing. Signed-off-by: Trond Myklebust <[email protected]>
2011-03-11plist: Shrink struct plist_headLai Jiangshan1-23/+24
struct plist_head is used in struct task_struct as well as struct rtmutex. If we can make it smaller, it will also make these structures smaller as well. The field prio_list in struct plist_head is seldom used and we can get its information from the plist_nodes. Removing this field will decrease the size of plist_head by half. Signed-off-by: Lai Jiangshan <[email protected]> LKML-Reference: <[email protected]> Signed-off-by: Steven Rostedt <[email protected]>
2011-03-11block: fixup plugging stubs for !CONFIG_BLOCKJens Axboe1-3/+6
They used an older prototype, fix it up. Reported-by: Randy Dunlap <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2011-03-11Merge branch 'master' of ↵John W. Linville1-0/+3
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem
2011-03-11Merge branch 'slab/rcu' into slab/nextPekka Enberg49-125/+255
Conflicts: mm/slub.c
2011-03-11slub: automatically reserve bytes at the end of slabLai Jiangshan1-0/+1
There is no "struct" for slub's slab, it shares with struct page. But struct page is very small, it is insufficient when we need to add some metadata for slab. So we add a field "reserved" to struct kmem_cache, when a slab is allocated, kmem_cache->reserved bytes are automatically reserved at the end of the slab for slab's metadata. Changed from v1: Export the reserved field via sysfs Acked-by: Christoph Lameter <[email protected]> Signed-off-by: Lai Jiangshan <[email protected]> Signed-off-by: Pekka Enberg <[email protected]>
2011-03-11Lockless (and preemptless) fastpaths for slubChristoph Lameter1-1/+4
Use the this_cpu_cmpxchg_double functionality to implement a lockless allocation algorithm on arches that support fast this_cpu_ops. Each of the per cpu pointers is paired with a transaction id that ensures that updates of the per cpu information can only occur in sequence on a certain cpu. A transaction id is a "long" integer that is comprised of an event number and the cpu number. The event number is incremented for every change to the per cpu state. This means that the cmpxchg instruction can verify for an update that nothing interfered and that we are updating the percpu structure for the processor where we picked up the information and that we are also currently on that processor when we update the information. This results in a significant decrease of the overhead in the fastpaths. It also makes it easy to adopt the fast path for realtime kernels since this is lockless and does not require the use of the current per cpu area over the critical section. It is only important that the per cpu area is current at the beginning of the critical section and at the end. So there is no need even to disable preemption. Test results show that the fastpath cycle count is reduced by up to ~ 40% (alloc/free test goes from ~140 cycles down to ~80). The slowpath for kfree adds a few cycles. Sadly this does nothing for the slowpath which is where the main issues with performance in slub are but the best case performance rises significantly. (For that see the more complex slub patches that require cmpxchg_double) Kmalloc: alloc/free test Before: 10000 times kmalloc(8)/kfree -> 134 cycles 10000 times kmalloc(16)/kfree -> 152 cycles 10000 times kmalloc(32)/kfree -> 144 cycles 10000 times kmalloc(64)/kfree -> 142 cycles 10000 times kmalloc(128)/kfree -> 142 cycles 10000 times kmalloc(256)/kfree -> 132 cycles 10000 times kmalloc(512)/kfree -> 132 cycles 10000 times kmalloc(1024)/kfree -> 135 cycles 10000 times kmalloc(2048)/kfree -> 135 cycles 10000 times kmalloc(4096)/kfree -> 135 cycles 10000 times kmalloc(8192)/kfree -> 144 cycles 10000 times kmalloc(16384)/kfree -> 754 cycles After: 10000 times kmalloc(8)/kfree -> 78 cycles 10000 times kmalloc(16)/kfree -> 78 cycles 10000 times kmalloc(32)/kfree -> 82 cycles 10000 times kmalloc(64)/kfree -> 88 cycles 10000 times kmalloc(128)/kfree -> 79 cycles 10000 times kmalloc(256)/kfree -> 79 cycles 10000 times kmalloc(512)/kfree -> 85 cycles 10000 times kmalloc(1024)/kfree -> 82 cycles 10000 times kmalloc(2048)/kfree -> 82 cycles 10000 times kmalloc(4096)/kfree -> 85 cycles 10000 times kmalloc(8192)/kfree -> 82 cycles 10000 times kmalloc(16384)/kfree -> 706 cycles Kmalloc: Repeatedly allocate then free test Before: 10000 times kmalloc(8) -> 211 cycles kfree -> 113 cycles 10000 times kmalloc(16) -> 174 cycles kfree -> 115 cycles 10000 times kmalloc(32) -> 235 cycles kfree -> 129 cycles 10000 times kmalloc(64) -> 222 cycles kfree -> 120 cycles 10000 times kmalloc(128) -> 343 cycles kfree -> 139 cycles 10000 times kmalloc(256) -> 827 cycles kfree -> 147 cycles 10000 times kmalloc(512) -> 1048 cycles kfree -> 272 cycles 10000 times kmalloc(1024) -> 2043 cycles kfree -> 528 cycles 10000 times kmalloc(2048) -> 4002 cycles kfree -> 571 cycles 10000 times kmalloc(4096) -> 7740 cycles kfree -> 628 cycles 10000 times kmalloc(8192) -> 8062 cycles kfree -> 850 cycles 10000 times kmalloc(16384) -> 8895 cycles kfree -> 1249 cycles After: 10000 times kmalloc(8) -> 190 cycles kfree -> 129 cycles 10000 times kmalloc(16) -> 76 cycles kfree -> 123 cycles 10000 times kmalloc(32) -> 126 cycles kfree -> 124 cycles 10000 times kmalloc(64) -> 181 cycles kfree -> 128 cycles 10000 times kmalloc(128) -> 310 cycles kfree -> 140 cycles 10000 times kmalloc(256) -> 809 cycles kfree -> 165 cycles 10000 times kmalloc(512) -> 1005 cycles kfree -> 269 cycles 10000 times kmalloc(1024) -> 1999 cycles kfree -> 527 cycles 10000 times kmalloc(2048) -> 3967 cycles kfree -> 570 cycles 10000 times kmalloc(4096) -> 7658 cycles kfree -> 637 cycles 10000 times kmalloc(8192) -> 8111 cycles kfree -> 859 cycles 10000 times kmalloc(16384) -> 8791 cycles kfree -> 1173 cycles Signed-off-by: Christoph Lameter <[email protected]> Signed-off-by: Pekka Enberg <[email protected]>
2011-03-11slub: min_partial needs to be in first cachelineChristoph Lameter1-1/+1
It is used in unfreeze_slab() which is a performance critical function. Signed-off-by: Christoph Lameter <[email protected]> Signed-off-by: Pekka Enberg <[email protected]>
2011-03-11Merge branch 'for-2.6.39' of ↵Pekka Enberg1-0/+128
git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu into slub/lockless
2011-03-11genirq: Add desc->irq_data accessorThomas Gleixner1-0/+5
We have accessors for all fields in irq_data based on irq_desc, but not for irq_data itself. Signed-off-by: Thomas Gleixner <[email protected]>
2011-03-11net: add proper documentation for previously added net_device_ops for FCoEYi Zou1-0/+36
Add proper documentation for previously added net_device_ops ops for FCoE. Signed-off-by: Yi Zou <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2011-03-10Merge branch 'for_2.6.39/pm-misc' of ↵Tony Lindgren6-13/+10
ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-for-linus
2011-03-10ipv4: Remove redundant RCU locking in ip_check_mc().David S. Miller1-1/+1
All callers are under rcu_read_lock() protection already. Rename to ip_check_mc_rcu() to make it even more clear. Signed-off-by: David S. Miller <[email protected]>
2011-03-10Merge branch 'master' of ↵David S. Miller5-12/+21
master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/bnx2x/bnx2x_cmn.c
2011-03-10NFSv4: remove duplicate clientid in struct nfs_clientAndy Adamson1-2/+0
Signed-off-by: Andy Adamson <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2011-03-10SUNRPC: Close a race in __rpc_wait_for_completion_task()Trond Myklebust1-0/+1
Although they run as rpciod background tasks, under normal operation (i.e. no SIGKILL), functions like nfs_sillyrename(), nfs4_proc_unlck() and nfs4_do_close() want to be fully synchronous. This means that when we exit, we want all references to the rpc_task to be gone, and we want any dentry references etc. held by that task to be released. For this reason these functions call __rpc_wait_for_completion_task(), followed by rpc_put_task() in the expectation that the latter will be releasing the last reference to the rpc_task, and thus ensuring that the callback_ops->rpc_release() has been called synchronously. This patch fixes a race which exists due to the fact that rpciod calls rpc_complete_task() (in order to wake up the callers of __rpc_wait_for_completion_task()) and then subsequently calls rpc_put_task() without ensuring that these two steps are done atomically. In order to avoid adding new spin locks, the patch uses the existing waitqueue spin lock to order the rpc_task reference count releases between the waiting process and rpciod. The common case where nobody is waiting for completion is optimised for by checking if the RPC_TASK_ASYNC flag is cleared and/or if the rpc_task reference count is 1: in those cases we drop trying to grab the spin lock, and immediately free up the rpc_task. Those few processes that need to put the rpc_task from inside an asynchronous context and that do not care about ordering are given a new helper: rpc_put_task_async(). Signed-off-by: Trond Myklebust <[email protected]>
2011-03-10hrtimer: Update hrtimer->state documentationThomas Gleixner1-5/+11
We changed some of the state bits and combinations thereof over time, but never updated the documentation. Signed-off-by: Thomas Gleixner <[email protected]>
2011-03-10tracing: Remove lock_depth from event entrySteven Rostedt1-1/+0
The lock_depth field in the event headers was added as a temporary data point for help in removing the BKL. Now that the BKL is pretty much been removed, we can remove this field. This in turn changes the header from 12 bytes to 8 bytes, removing the 4 byte buffer that gcc would insert if the first field in the data load was 8 bytes in size. Signed-off-by: Steven Rostedt <[email protected]>