summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2011-06-23Merge remote-tracking branch 'writeback/next'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'tmem/linux-next'Stephen Rothwell
Conflicts: drivers/xen/Kconfig drivers/xen/tmem.c
2011-06-23Merge remote-tracking branch 'usb/usb-next'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'tty/tty-next'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'workqueues/for-next'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'xen-two/linux-next'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'ptrace/ptrace'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'kvm/linux-next'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'rcu/rcu/next'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'tip/auto-latest'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'gpio/gpio/next'Stephen Rothwell
Conflicts: arch/arm/mach-ep93xx/Makefile drivers/gpio/Makefile drivers/gpio/gpio-ep93xx.c
2011-06-23Merge remote-tracking branch 'devicetree/devicetree/next'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'fsnotify/for-next'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'suspend/linux-next'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'trivial/for-next'Stephen Rothwell
Conflicts: arch/arm/mach-ep93xx/dma-m2p.c arch/s390/kvm/sie64a.S drivers/mtd/maps/pxa2xx-flash.c
2011-06-23Merge remote-tracking branch 'voltage/for-next'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'omap_dss2/for-next'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'mfd/for-next'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'slab/for-next'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'mmc/mmc-next'Stephen Rothwell
Conflicts: drivers/mmc/host/sdhci-of-core.c
2011-06-23Merge remote-tracking branch 'block/for-next'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'sound-asoc/for-next'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'sound/for-next'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'l2-mtd/master'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'wireless/master'Stephen Rothwell
Conflicts: drivers/net/wireless/rtlwifi/pci.c include/linux/netlink.h
2011-06-23Merge remote-tracking branch 'net/master'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'libata/NEXT'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'v4l-dvb/master'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'hid/for-next'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'of-pci/of-pci'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'pci/linux-next'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'vfs/for-next'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'v9fs/for-next'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'nfs/linux-next'Stephen Rothwell
Conflicts: fs/nfs/pnfs.c
2011-06-23Merge remote-tracking branch 'ext3/for_next'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'sh/sh-latest'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'm68k/for-next'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'devicetree-current/devicetree/merge'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'tty.current/tty-linus'Stephen Rothwell
2011-06-23Merge remote-tracking branch 'driver-core.current/driver-core-linus'Stephen Rothwell
2011-06-23Correct comment on truncate_inode_pages*() in linux/mm.h; and removeHugh Dickins
declaration of page_unuse(), it didn't exist even in 2.2.26 or 2.4.0! Signed-off-by: Hugh Dickins <hughd@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2011-06-23The often-NULL data arg to read_cache_page() and read_mapping_page()Hugh Dickins
functions is misdescribed as "destination for read data": no, it's the first arg to the filler function, often struct file * to ->readpage(). Satisfy checkpatch.pl on those filler prototypes, and tidy up the declarations in linux/pagemap.h. Signed-off-by: Hugh Dickins <hughd@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2011-06-23Under heavy memory and filesystem load, users observe the assertionJan Kara
mapping->nrpages == 0 in end_writeback() trigger. This can be caused by page reclaim reclaiming the last page from a mapping in the following race: CPU0 CPU1 ... shrink_page_list() __remove_mapping() __delete_from_page_cache() radix_tree_delete() evict_inode() truncate_inode_pages() truncate_inode_pages_range() pagevec_lookup() - finds nothing end_writeback() mapping->nrpages != 0 -> BUG page->mapping = NULL mapping->nrpages-- Fix the problem by doing a reliable check of mapping->nrpages under mapping->tree_lock in end_writeback(). Analyzed by Jay <jinshan.xiong@whamcloud.com>, lost in LKML, and dug out by Miklos Szeredi <mszeredi@suse.de>. Cc: Jay <jinshan.xiong@whamcloud.com> Cc: Miklos Szeredi <mszeredi@suse.de> Signed-off-by: Jan Kara <jack@suse.cz> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2011-06-23This is required for tilegx to be able to use the compat unistd.h headerChris Metcalf
where compat_sys_sendmmsg() is now mentioned. Signed-off-by: Chris Metcalf <cmetcalf@tilera.com> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2011-06-23Although it is used (by i915) on nothing but tmpfs, read_cache_page_gfp()Hugh Dickins
is unsuited to tmpfs, because it inserts a page into pagecache before calling the filesystem's ->readpage: tmpfs may have pages in swapcache which only it knows how to locate and switch to filecache. At present tmpfs provides a ->readpage method, and copes with this by copying pages; but soon we can simplify it by removing its ->readpage. Provide shmem_read_mapping_page_gfp() now, ready for that transition, Export shmem_read_mapping_page_gfp() and add it to list in shmem_fs.h, with shmem_read_mapping_page() inline for the common mapping_gfp case. (shmem_read_mapping_page_gfp or shmem_read_cache_page_gfp? Generally the read_mapping_page functions use the mapping's ->readpage, and the read_cache_page functions use the supplied filler, so I think read_cache_page_gfp was slightly misnamed.) Signed-off-by: Hugh Dickins <hughd@google.com> Cc: Christoph Hellwig <hch@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2011-06-232.6.35's new truncate convention gave tmpfs the opportunity to control itsHugh Dickins
file truncation, no longer enforced from outside by vmtruncate(). We shall want to build upon that, to handle pagecache and swap together. Slightly redefine the ->truncate_range interface: let it now be called between the unmap_mapping_range()s, with the filesystem responsible for doing the truncate_inode_pages_range() from it - just as the filesystem is nowadays responsible for doing that from its ->setattr. Let's rename shmem_notify_change() to shmem_setattr(). Instead of calling the generic truncate_setsize(), bring that code in so we can call shmem_truncate_range() - which will later be updated to perform its own variant of truncate_inode_pages_range(). Remove the punch_hole unmap_mapping_range() from shmem_truncate_range(): now that the COW's unmap_mapping_range() comes after ->truncate_range, there is no need to call it a third time. Export shmem_truncate_range() and add it to the list in shmem_fs.h, so that i915_gem_object_truncate() can call it explicitly in future; get this patch in first, then update drm/i915 once this is available (until then, i915 will just be doing the truncate_inode_pages() twice). Though introduced five years ago, no other filesystem is implementing ->truncate_range, and its only other user is madvise(,,MADV_REMOVE): we expect to convert it to fallocate(,FALLOC_FL_PUNCH_HOLE,,) shortly, whereupon ->truncate_range can be removed from inode_operations - shmem_truncate_range() will help i915 across that transition too. Signed-off-by: Hugh Dickins <hughd@google.com> Cc: Christoph Hellwig <hch@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2011-06-23Before adding any more global entry points into shmem.c, gather suchHugh Dickins
prototypes into shmem_fs.h. Remove mm's own declarations from swap.h, but for now leave the ones in mm.h: because shmem_file_setup() and shmem_zero_setup() are called from various places, and we should not force other subsystems to update immediately. Signed-off-by: Hugh Dickins <hughd@google.com> Cc: Christoph Hellwig <hch@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2011-06-23commit 37573e8c7182 ("memcg: fix init_page_cgroup nid with sparsemem")KAMEZAWA Hiroyuki
uses node_start/end_pfn(nid) for detection start/end of nodes. But, it's not defined in linux/mmzone.h but defined in /arch/???/include/mmzone.h which is included only under CONFIG_NEED_MULTIPLE_NODES=y. Then, we see mm/page_cgroup.c: In function 'page_cgroup_init': mm/page_cgroup.c:308: error: implicit declaration of function 'node_start_pfn' mm/page_cgroup.c:309: error: implicit declaration of function 'node_end_pfn' So, fixing page_cgroup.c is an idea... But node_start_pfn()/node_end_pfn() is a very generic macro and should be implemented in the same manner for all archs. (m32r has different implementation...) This patch removes definitions of node_start/end_pfn() in each archs and defines a unified one in linux/mmzone.h. It's not under CONFIG_NEED_MULTIPLE_NODES, now. A result of macro expansion is here (mm/page_cgroup.c) for !NUMA start_pfn = ((&contig_page_data)->node_start_pfn); end_pfn = ({ pg_data_t *__pgdat = (&contig_page_data); __pgdat->node_start_pfn + __pgdat->node_spanned_pages;}); for NUMA (x86-64) start_pfn = ((node_data[nid])->node_start_pfn); end_pfn = ({ pg_data_t *__pgdat = (node_data[nid]); __pgdat->node_start_pfn + __pgdat->node_spanned_pages;}); Acked-by: Randy Dunlap <randy.dunlap@oracle.com> Reported-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Acked-by: Mel Gorman <mgorman@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2011-06-22ath9k: add external_reset callback to ath9k_platfom_data for AR9330Gabor Juhos
The patch adds a callback to ath9k_platform_data. If the callback is provided by the platform code, then it can be used to hard reset the WMAC device. The callback is required for doing a hard reset of the AR9330 chips to get them working again after a hang. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-06-22ath9k: add MAC revision detection for AR9330Gabor Juhos
The AR9330 1.0 and 1.1 are using the same revision, thus it is not possible to distinguish the two chips. The platform setup code can distinguish the chips based on the SoC revision. Add a callback function to ath9k_platform_data in order to allow getting the revision number from the platform code. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>