Merge branch 'akpm' (patches from Andrew)
Merge misc fixes from Andrew Morton: "8 fixes" * emailed patches from Andrew Morton <akpm@linux-foundation.org>: mm, numa: really disable NUMA balancing by default on single node machines MAINTAINERS: update Jingoo Han's email address CMA: page_isolation: check buddy before accessing it uidgid: make uid_valid and gid_valid work with !CONFIG_MULTIUSER kernfs: do not account ino_ida allocations to memcg gfp: add __GFP_NOACCOUNT tools/vm: fix page-flags build drivers/rtc/rtc-armada38x.c: remove unused local `flags'
This commit is contained in:
commit
0336104dcb
10
MAINTAINERS
10
MAINTAINERS
|
@ -1935,7 +1935,7 @@ S: Maintained
|
|||
F: drivers/net/wireless/b43legacy/
|
||||
|
||||
BACKLIGHT CLASS/SUBSYSTEM
|
||||
M: Jingoo Han <jg1.han@samsung.com>
|
||||
M: Jingoo Han <jingoohan1@gmail.com>
|
||||
M: Lee Jones <lee.jones@linaro.org>
|
||||
S: Maintained
|
||||
F: drivers/video/backlight/
|
||||
|
@ -3918,7 +3918,7 @@ F: drivers/extcon/
|
|||
F: Documentation/extcon/
|
||||
|
||||
EXYNOS DP DRIVER
|
||||
M: Jingoo Han <jg1.han@samsung.com>
|
||||
M: Jingoo Han <jingoohan1@gmail.com>
|
||||
L: dri-devel@lists.freedesktop.org
|
||||
S: Maintained
|
||||
F: drivers/gpu/drm/exynos/exynos_dp*
|
||||
|
@ -7557,7 +7557,7 @@ S: Maintained
|
|||
F: drivers/pci/host/*rcar*
|
||||
|
||||
PCI DRIVER FOR SAMSUNG EXYNOS
|
||||
M: Jingoo Han <jg1.han@samsung.com>
|
||||
M: Jingoo Han <jingoohan1@gmail.com>
|
||||
L: linux-pci@vger.kernel.org
|
||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||
L: linux-samsung-soc@vger.kernel.org (moderated for non-subscribers)
|
||||
|
@ -7565,7 +7565,7 @@ S: Maintained
|
|||
F: drivers/pci/host/pci-exynos.c
|
||||
|
||||
PCI DRIVER FOR SYNOPSIS DESIGNWARE
|
||||
M: Jingoo Han <jg1.han@samsung.com>
|
||||
M: Jingoo Han <jingoohan1@gmail.com>
|
||||
L: linux-pci@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/pci/host/*designware*
|
||||
|
@ -8521,7 +8521,7 @@ S: Supported
|
|||
F: sound/soc/samsung/
|
||||
|
||||
SAMSUNG FRAMEBUFFER DRIVER
|
||||
M: Jingoo Han <jg1.han@samsung.com>
|
||||
M: Jingoo Han <jingoohan1@gmail.com>
|
||||
L: linux-fbdev@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/video/fbdev/s3c-fb.c
|
||||
|
|
|
@ -64,7 +64,7 @@ static void rtc_delayed_write(u32 val, struct armada38x_rtc *rtc, int offset)
|
|||
static int armada38x_rtc_read_time(struct device *dev, struct rtc_time *tm)
|
||||
{
|
||||
struct armada38x_rtc *rtc = dev_get_drvdata(dev);
|
||||
unsigned long time, time_check, flags;
|
||||
unsigned long time, time_check;
|
||||
|
||||
mutex_lock(&rtc->mutex_time);
|
||||
time = readl(rtc->regs + RTC_TIME);
|
||||
|
|
|
@ -518,7 +518,14 @@ static struct kernfs_node *__kernfs_new_node(struct kernfs_root *root,
|
|||
if (!kn)
|
||||
goto err_out1;
|
||||
|
||||
ret = ida_simple_get(&root->ino_ida, 1, 0, GFP_KERNEL);
|
||||
/*
|
||||
* If the ino of the sysfs entry created for a kmem cache gets
|
||||
* allocated from an ida layer, which is accounted to the memcg that
|
||||
* owns the cache, the memcg will get pinned forever. So do not account
|
||||
* ino ida allocations.
|
||||
*/
|
||||
ret = ida_simple_get(&root->ino_ida, 1, 0,
|
||||
GFP_KERNEL | __GFP_NOACCOUNT);
|
||||
if (ret < 0)
|
||||
goto err_out2;
|
||||
kn->ino = ret;
|
||||
|
|
|
@ -30,6 +30,7 @@ struct vm_area_struct;
|
|||
#define ___GFP_HARDWALL 0x20000u
|
||||
#define ___GFP_THISNODE 0x40000u
|
||||
#define ___GFP_RECLAIMABLE 0x80000u
|
||||
#define ___GFP_NOACCOUNT 0x100000u
|
||||
#define ___GFP_NOTRACK 0x200000u
|
||||
#define ___GFP_NO_KSWAPD 0x400000u
|
||||
#define ___GFP_OTHER_NODE 0x800000u
|
||||
|
@ -87,6 +88,7 @@ struct vm_area_struct;
|
|||
#define __GFP_HARDWALL ((__force gfp_t)___GFP_HARDWALL) /* Enforce hardwall cpuset memory allocs */
|
||||
#define __GFP_THISNODE ((__force gfp_t)___GFP_THISNODE)/* No fallback, no policies */
|
||||
#define __GFP_RECLAIMABLE ((__force gfp_t)___GFP_RECLAIMABLE) /* Page is reclaimable */
|
||||
#define __GFP_NOACCOUNT ((__force gfp_t)___GFP_NOACCOUNT) /* Don't account to kmemcg */
|
||||
#define __GFP_NOTRACK ((__force gfp_t)___GFP_NOTRACK) /* Don't track with kmemcheck */
|
||||
|
||||
#define __GFP_NO_KSWAPD ((__force gfp_t)___GFP_NO_KSWAPD)
|
||||
|
|
|
@ -463,6 +463,8 @@ memcg_kmem_newpage_charge(gfp_t gfp, struct mem_cgroup **memcg, int order)
|
|||
if (!memcg_kmem_enabled())
|
||||
return true;
|
||||
|
||||
if (gfp & __GFP_NOACCOUNT)
|
||||
return true;
|
||||
/*
|
||||
* __GFP_NOFAIL allocations will move on even if charging is not
|
||||
* possible. Therefore we don't even try, and have this allocation
|
||||
|
@ -522,6 +524,8 @@ memcg_kmem_get_cache(struct kmem_cache *cachep, gfp_t gfp)
|
|||
{
|
||||
if (!memcg_kmem_enabled())
|
||||
return cachep;
|
||||
if (gfp & __GFP_NOACCOUNT)
|
||||
return cachep;
|
||||
if (gfp & __GFP_NOFAIL)
|
||||
return cachep;
|
||||
if (in_interrupt() || (!current->mm) || (current->flags & PF_KTHREAD))
|
||||
|
|
|
@ -109,12 +109,12 @@ static inline bool gid_lte(kgid_t left, kgid_t right)
|
|||
|
||||
static inline bool uid_valid(kuid_t uid)
|
||||
{
|
||||
return !uid_eq(uid, INVALID_UID);
|
||||
return __kuid_val(uid) != (uid_t) -1;
|
||||
}
|
||||
|
||||
static inline bool gid_valid(kgid_t gid)
|
||||
{
|
||||
return !gid_eq(gid, INVALID_GID);
|
||||
return __kgid_val(gid) != (gid_t) -1;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_USER_NS
|
||||
|
|
|
@ -115,7 +115,8 @@
|
|||
#define BYTES_PER_POINTER sizeof(void *)
|
||||
|
||||
/* GFP bitmask for kmemleak internal allocations */
|
||||
#define gfp_kmemleak_mask(gfp) (((gfp) & (GFP_KERNEL | GFP_ATOMIC)) | \
|
||||
#define gfp_kmemleak_mask(gfp) (((gfp) & (GFP_KERNEL | GFP_ATOMIC | \
|
||||
__GFP_NOACCOUNT)) | \
|
||||
__GFP_NORETRY | __GFP_NOMEMALLOC | \
|
||||
__GFP_NOWARN)
|
||||
|
||||
|
|
|
@ -2518,7 +2518,7 @@ static void __init check_numabalancing_enable(void)
|
|||
if (numabalancing_override)
|
||||
set_numabalancing_state(numabalancing_override == 1);
|
||||
|
||||
if (nr_node_ids > 1 && !numabalancing_override) {
|
||||
if (num_online_nodes() > 1 && !numabalancing_override) {
|
||||
pr_info("%s automatic NUMA balancing. "
|
||||
"Configure with numa_balancing= or the "
|
||||
"kernel.numa_balancing sysctl",
|
||||
|
|
|
@ -101,7 +101,8 @@ void unset_migratetype_isolate(struct page *page, unsigned migratetype)
|
|||
buddy_idx = __find_buddy_index(page_idx, order);
|
||||
buddy = page + (buddy_idx - page_idx);
|
||||
|
||||
if (!is_migrate_isolate_page(buddy)) {
|
||||
if (pfn_valid_within(page_to_pfn(buddy)) &&
|
||||
!is_migrate_isolate_page(buddy)) {
|
||||
__isolate_free_page(page, order);
|
||||
kernel_map_pages(page, (1 << order), 1);
|
||||
set_page_refcounted(page);
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
TARGETS=page-types slabinfo page_owner_sort
|
||||
|
||||
LIB_DIR = ../lib/api
|
||||
LIBS = $(LIB_DIR)/libapikfs.a
|
||||
LIBS = $(LIB_DIR)/libapi.a
|
||||
|
||||
CC = $(CROSS_COMPILE)gcc
|
||||
CFLAGS = -Wall -Wextra -I../lib/
|
||||
|
|
Loading…
Reference in New Issue