Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'akpm' (incoming from Andrew)

Merge misc fixes from Andrew Morton:
"13 fixes"

* emailed patches from Andrew Morton <akpm@linux-foundation.org>:
thp: close race between split and zap huge pages
mm: fix new kernel-doc warning in filemap.c
mm: fix CONFIG_DEBUG_VM_RB description
mm: use paravirt friendly ops for NUMA hinting ptes
mips: export flush_icache_range
mm/hugetlb.c: add cond_resched_lock() in return_unused_surplus_pages()
wait: explain the shadowing and type inconsistencies
Shiraz has moved
Documentation/vm/numa_memory_policy.txt: fix wrong document in numa_memory_policy.txt
powerpc/mm: fix ".__node_distance" undefined
kernel/watchdog.c:touch_softlockup_watchdog(): use raw_cpu_write()
init/Kconfig: move the trusted keyring config option to general setup
vmscan: reclaim_clean_pages_from_list() must use mod_zone_page_state()

+85 -47
+1
.mailmap
··· 99 99 Sam Ravnborg <sam@mars.ravnborg.org> 100 100 Sascha Hauer <s.hauer@pengutronix.de> 101 101 S.Çağlar Onur <caglar@pardus.org.tr> 102 + Shiraz Hashim <shiraz.linux.kernel@gmail.com> <shiraz.hashim@st.com> 102 103 Simon Kelley <simon@thekelleys.org.uk> 103 104 Stéphane Witzmann <stephane.witzmann@ubpmes.univ-bpclermont.fr> 104 105 Stephen Hemminger <shemminger@osdl.org>
+2 -3
Documentation/vm/numa_memory_policy.txt
··· 174 174 allocation fails, the kernel will search other nodes, in order of 175 175 increasing distance from the preferred node based on information 176 176 provided by the platform firmware. 177 - containing the cpu where the allocation takes place. 178 177 179 178 Internally, the Preferred policy uses a single node--the 180 179 preferred_node member of struct mempolicy. When the internal ··· 274 275 For example, consider a task that is attached to a cpuset with 275 276 mems 2-5 that sets an Interleave policy over the same set with 276 277 MPOL_F_RELATIVE_NODES. If the cpuset's mems change to 3-7, the 277 - interleave now occurs over nodes 3,5-6. If the cpuset's mems 278 + interleave now occurs over nodes 3,5-7. If the cpuset's mems 278 279 then change to 0,2-3,5, then the interleave occurs over nodes 279 - 0,3,5. 280 + 0,2-3,5. 280 281 281 282 Thanks to the consistent remapping, applications preparing 282 283 nodemasks to specify memory policies using this flag should
+1 -1
MAINTAINERS
··· 8315 8315 8316 8316 SPEAR PLATFORM SUPPORT 8317 8317 M: Viresh Kumar <viresh.linux@gmail.com> 8318 - M: Shiraz Hashim <shiraz.hashim@st.com> 8318 + M: Shiraz Hashim <shiraz.linux.kernel@gmail.com> 8319 8319 L: spear-devel@list.st.com 8320 8320 L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) 8321 8321 W: http://www.st.com/spear
+1 -1
arch/arm/boot/dts/spear320-hmi.dts
··· 1 1 /* 2 2 * DTS file for SPEAr320 Evaluation Baord 3 3 * 4 - * Copyright 2012 Shiraz Hashim <shiraz.hashim@st.com> 4 + * Copyright 2012 Shiraz Hashim <shiraz.linux.kernel@gmail.com> 5 5 * 6 6 * The code contained herein is licensed under the GNU General Public 7 7 * License. You may obtain a copy of the GNU General Public License
+1 -1
arch/arm/mach-spear/headsmp.S
··· 3 3 * 4 4 * Picked from realview 5 5 * Copyright (c) 2012 ST Microelectronics Limited 6 - * Shiraz Hashim <shiraz.hashim@st.com> 6 + * Shiraz Hashim <shiraz.linux.kernel@gmail.com> 7 7 * 8 8 * This program is free software; you can redistribute it and/or modify 9 9 * it under the terms of the GNU General Public License version 2 as
+1 -1
arch/arm/mach-spear/platsmp.c
··· 4 4 * based upon linux/arch/arm/mach-realview/platsmp.c 5 5 * 6 6 * Copyright (C) 2012 ST Microelectronics Ltd. 7 - * Shiraz Hashim <shiraz.hashim@st.com> 7 + * Shiraz Hashim <shiraz.linux.kernel@gmail.com> 8 8 * 9 9 * This program is free software; you can redistribute it and/or modify 10 10 * it under the terms of the GNU General Public License version 2 as
+1 -1
arch/arm/mach-spear/time.c
··· 2 2 * arch/arm/plat-spear/time.c 3 3 * 4 4 * Copyright (C) 2010 ST Microelectronics 5 - * Shiraz Hashim<shiraz.hashim@st.com> 5 + * Shiraz Hashim<shiraz.linux.kernel@gmail.com> 6 6 * 7 7 * This file is licensed under the terms of the GNU General Public 8 8 * License version 2. This program is licensed "as is" without any
+2 -2
arch/mips/mm/cache.c
··· 29 29 void (*flush_cache_page)(struct vm_area_struct *vma, unsigned long page, 30 30 unsigned long pfn); 31 31 void (*flush_icache_range)(unsigned long start, unsigned long end); 32 + EXPORT_SYMBOL_GPL(flush_icache_range); 32 33 void (*local_flush_icache_range)(unsigned long start, unsigned long end); 33 34 34 35 void (*__flush_cache_vmap)(void); 35 36 void (*__flush_cache_vunmap)(void); 36 37 37 38 void (*__flush_kernel_vmap_range)(unsigned long vaddr, int size); 38 - void (*__invalidate_kernel_vmap_range)(unsigned long vaddr, int size); 39 - 40 39 EXPORT_SYMBOL_GPL(__flush_kernel_vmap_range); 40 + void (*__invalidate_kernel_vmap_range)(unsigned long vaddr, int size); 41 41 42 42 /* MIPS specific cache operations */ 43 43 void (*flush_cache_sigtramp)(unsigned long addr);
+1
arch/powerpc/mm/numa.c
··· 232 232 233 233 return distance; 234 234 } 235 + EXPORT_SYMBOL(__node_distance); 235 236 236 237 static void initialize_distance_lookup_table(int nid, 237 238 const __be32 *associativity)
+2 -2
drivers/gpio/gpio-spear-spics.c
··· 2 2 * SPEAr platform SPI chipselect abstraction over gpiolib 3 3 * 4 4 * Copyright (C) 2012 ST Microelectronics 5 - * Shiraz Hashim <shiraz.hashim@st.com> 5 + * Shiraz Hashim <shiraz.linux.kernel@gmail.com> 6 6 * 7 7 * This file is licensed under the terms of the GNU General Public 8 8 * License version 2. This program is licensed "as is" without any ··· 205 205 } 206 206 subsys_initcall(spics_gpio_init); 207 207 208 - MODULE_AUTHOR("Shiraz Hashim <shiraz.hashim@st.com>"); 208 + MODULE_AUTHOR("Shiraz Hashim <shiraz.linux.kernel@gmail.com>"); 209 209 MODULE_DESCRIPTION("ST Microlectronics SPEAr SPI Chip Select Abstraction"); 210 210 MODULE_LICENSE("GPL");
+1 -1
drivers/irqchip/spear-shirq.c
··· 5 5 * Viresh Kumar <viresh.linux@gmail.com> 6 6 * 7 7 * Copyright (C) 2012 ST Microelectronics 8 - * Shiraz Hashim <shiraz.hashim@st.com> 8 + * Shiraz Hashim <shiraz.linux.kernel@gmail.com> 9 9 * 10 10 * This file is licensed under the terms of the GNU General Public 11 11 * License version 2. This program is licensed "as is" without any
+2 -2
drivers/mtd/devices/spear_smi.c
··· 6 6 * 7 7 * Copyright © 2010 STMicroelectronics. 8 8 * Ashish Priyadarshi 9 - * Shiraz Hashim <shiraz.hashim@st.com> 9 + * Shiraz Hashim <shiraz.linux.kernel@gmail.com> 10 10 * 11 11 * This file is licensed under the terms of the GNU General Public 12 12 * License version 2. This program is licensed "as is" without any ··· 1089 1089 module_platform_driver(spear_smi_driver); 1090 1090 1091 1091 MODULE_LICENSE("GPL"); 1092 - MODULE_AUTHOR("Ashish Priyadarshi, Shiraz Hashim <shiraz.hashim@st.com>"); 1092 + MODULE_AUTHOR("Ashish Priyadarshi, Shiraz Hashim <shiraz.linux.kernel@gmail.com>"); 1093 1093 MODULE_DESCRIPTION("MTD SMI driver for serial nor flash chips");
+2 -2
drivers/pwm/pwm-spear.c
··· 2 2 * ST Microelectronics SPEAr Pulse Width Modulator driver 3 3 * 4 4 * Copyright (C) 2012 ST Microelectronics 5 - * Shiraz Hashim <shiraz.hashim@st.com> 5 + * Shiraz Hashim <shiraz.linux.kernel@gmail.com> 6 6 * 7 7 * This file is licensed under the terms of the GNU General Public 8 8 * License version 2. This program is licensed "as is" without any ··· 264 264 module_platform_driver(spear_pwm_driver); 265 265 266 266 MODULE_LICENSE("GPL"); 267 - MODULE_AUTHOR("Shiraz Hashim <shiraz.hashim@st.com>"); 267 + MODULE_AUTHOR("Shiraz Hashim <shiraz.linux.kernel@gmail.com>"); 268 268 MODULE_AUTHOR("Viresh Kumar <viresh.kumar@linaro.com>"); 269 269 MODULE_ALIAS("platform:spear-pwm");
+23 -8
include/asm-generic/pgtable.h
··· 693 693 #ifndef pte_mknonnuma 694 694 static inline pte_t pte_mknonnuma(pte_t pte) 695 695 { 696 - pte = pte_clear_flags(pte, _PAGE_NUMA); 697 - return pte_set_flags(pte, _PAGE_PRESENT|_PAGE_ACCESSED); 696 + pteval_t val = pte_val(pte); 697 + 698 + val &= ~_PAGE_NUMA; 699 + val |= (_PAGE_PRESENT|_PAGE_ACCESSED); 700 + return __pte(val); 698 701 } 699 702 #endif 700 703 701 704 #ifndef pmd_mknonnuma 702 705 static inline pmd_t pmd_mknonnuma(pmd_t pmd) 703 706 { 704 - pmd = pmd_clear_flags(pmd, _PAGE_NUMA); 705 - return pmd_set_flags(pmd, _PAGE_PRESENT|_PAGE_ACCESSED); 707 + pmdval_t val = pmd_val(pmd); 708 + 709 + val &= ~_PAGE_NUMA; 710 + val |= (_PAGE_PRESENT|_PAGE_ACCESSED); 711 + 712 + return __pmd(val); 706 713 } 707 714 #endif 708 715 709 716 #ifndef pte_mknuma 710 717 static inline pte_t pte_mknuma(pte_t pte) 711 718 { 712 - pte = pte_set_flags(pte, _PAGE_NUMA); 713 - return pte_clear_flags(pte, _PAGE_PRESENT); 719 + pteval_t val = pte_val(pte); 720 + 721 + val &= ~_PAGE_PRESENT; 722 + val |= _PAGE_NUMA; 723 + 724 + return __pte(val); 714 725 } 715 726 #endif 716 727 ··· 740 729 #ifndef pmd_mknuma 741 730 static inline pmd_t pmd_mknuma(pmd_t pmd) 742 731 { 743 - pmd = pmd_set_flags(pmd, _PAGE_NUMA); 744 - return pmd_clear_flags(pmd, _PAGE_PRESENT); 732 + pmdval_t val = pmd_val(pmd); 733 + 734 + val &= ~_PAGE_PRESENT; 735 + val |= _PAGE_NUMA; 736 + 737 + return __pmd(val); 745 738 } 746 739 #endif 747 740
+1 -1
include/linux/mtd/spear_smi.h
··· 1 1 /* 2 2 * Copyright © 2010 ST Microelectronics 3 - * Shiraz Hashim <shiraz.hashim@st.com> 3 + * Shiraz Hashim <shiraz.linux.kernel@gmail.com> 4 4 * 5 5 * This file is licensed under the terms of the GNU General Public 6 6 * License version 2. This program is licensed "as is" without any
+13 -1
include/linux/wait.h
··· 191 191 (!__builtin_constant_p(state) || \ 192 192 state == TASK_INTERRUPTIBLE || state == TASK_KILLABLE) \ 193 193 194 + /* 195 + * The below macro ___wait_event() has an explicit shadow of the __ret 196 + * variable when used from the wait_event_*() macros. 197 + * 198 + * This is so that both can use the ___wait_cond_timeout() construct 199 + * to wrap the condition. 200 + * 201 + * The type inconsistency of the wait_event_*() __ret variable is also 202 + * on purpose; we use long where we can return timeout values and int 203 + * otherwise. 204 + */ 205 + 194 206 #define ___wait_event(wq, condition, state, exclusive, ret, cmd) \ 195 207 ({ \ 196 208 __label__ __out; \ 197 209 wait_queue_t __wait; \ 198 - long __ret = ret; \ 210 + long __ret = ret; /* explicit shadow */ \ 199 211 \ 200 212 INIT_LIST_HEAD(&__wait.task_list); \ 201 213 if (exclusive) \
+12 -12
init/Kconfig
··· 1646 1646 1647 1647 See Documentation/nommu-mmap.txt for more information. 1648 1648 1649 + config SYSTEM_TRUSTED_KEYRING 1650 + bool "Provide system-wide ring of trusted keys" 1651 + depends on KEYS 1652 + help 1653 + Provide a system keyring to which trusted keys can be added. Keys in 1654 + the keyring are considered to be trusted. Keys may be added at will 1655 + by the kernel from compiled-in data and from hardware key stores, but 1656 + userspace may only add extra keys if those keys can be verified by 1657 + keys already in the keyring. 1658 + 1659 + Keys in this keyring are used by module signature checking. 1660 + 1649 1661 config PROFILING 1650 1662 bool "Profiling support" 1651 1663 help ··· 1692 1680 int 1693 1681 default 0 if BASE_FULL 1694 1682 default 1 if !BASE_FULL 1695 - 1696 - config SYSTEM_TRUSTED_KEYRING 1697 - bool "Provide system-wide ring of trusted keys" 1698 - depends on KEYS 1699 - help 1700 - Provide a system keyring to which trusted keys can be added. Keys in 1701 - the keyring are considered to be trusted. Keys may be added at will 1702 - by the kernel from compiled-in data and from hardware key stores, but 1703 - userspace may only add extra keys if those keys can be verified by 1704 - keys already in the keyring. 1705 - 1706 - Keys in this keyring are used by module signature checking. 1707 1683 1708 1684 menuconfig MODULES 1709 1685 bool "Enable loadable module support"
+5 -1
kernel/watchdog.c
··· 138 138 139 139 void touch_softlockup_watchdog(void) 140 140 { 141 - __this_cpu_write(watchdog_touch_ts, 0); 141 + /* 142 + * Preemption can be enabled. It doesn't matter which CPU's timestamp 143 + * gets zeroed here, so use the raw_ operation. 144 + */ 145 + raw_cpu_write(watchdog_touch_ts, 0); 142 146 } 143 147 EXPORT_SYMBOL(touch_softlockup_watchdog); 144 148
+1 -2
lib/Kconfig.debug
··· 505 505 bool "Debug VM red-black trees" 506 506 depends on DEBUG_VM 507 507 help 508 - Enable this to turn on more extended checks in the virtual-memory 509 - system that may impact performance. 508 + Enable VM red-black tree debugging information and extra validations. 510 509 511 510 If unsure, say N. 512 511
-1
mm/filemap.c
··· 2581 2581 * @iocb: IO state structure (file, offset, etc.) 2582 2582 * @iov: vector with data to write 2583 2583 * @nr_segs: number of segments in the vector 2584 - * @ppos: position where to write 2585 2584 * 2586 2585 * This function does all the work needed for actually writing data to a 2587 2586 * file. It does all basic checks, removes SUID from the file, updates
+10 -3
mm/huge_memory.c
··· 1536 1536 enum page_check_address_pmd_flag flag, 1537 1537 spinlock_t **ptl) 1538 1538 { 1539 + pgd_t *pgd; 1540 + pud_t *pud; 1539 1541 pmd_t *pmd; 1540 1542 1541 1543 if (address & ~HPAGE_PMD_MASK) 1542 1544 return NULL; 1543 1545 1544 - pmd = mm_find_pmd(mm, address); 1545 - if (!pmd) 1546 + pgd = pgd_offset(mm, address); 1547 + if (!pgd_present(*pgd)) 1546 1548 return NULL; 1549 + pud = pud_offset(pgd, address); 1550 + if (!pud_present(*pud)) 1551 + return NULL; 1552 + pmd = pmd_offset(pud, address); 1553 + 1547 1554 *ptl = pmd_lock(mm, pmd); 1548 - if (pmd_none(*pmd)) 1555 + if (!pmd_present(*pmd)) 1549 1556 goto unlock; 1550 1557 if (pmd_page(*pmd) != page) 1551 1558 goto unlock;
+1
mm/hugetlb.c
··· 1172 1172 while (nr_pages--) { 1173 1173 if (!free_pool_huge_page(h, &node_states[N_MEMORY], 1)) 1174 1174 break; 1175 + cond_resched_lock(&hugetlb_lock); 1175 1176 } 1176 1177 } 1177 1178
+1 -1
mm/vmscan.c
··· 1158 1158 TTU_UNMAP|TTU_IGNORE_ACCESS, 1159 1159 &dummy1, &dummy2, &dummy3, &dummy4, &dummy5, true); 1160 1160 list_splice(&clean_pages, page_list); 1161 - __mod_zone_page_state(zone, NR_ISOLATED_FILE, -ret); 1161 + mod_zone_page_state(zone, NR_ISOLATED_FILE, -ret); 1162 1162 return ret; 1163 1163 } 1164 1164