Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0336104d authored by Linus Torvalds's avatar Linus Torvalds
Browse files

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'
parents f0897f4c b0dc2b9b
Loading
Loading
Loading
Loading
+5 −5
Original line number Original line Diff line number Diff line
@@ -1935,7 +1935,7 @@ S: Maintained
F:	drivers/net/wireless/b43legacy/
F:	drivers/net/wireless/b43legacy/


BACKLIGHT CLASS/SUBSYSTEM
BACKLIGHT CLASS/SUBSYSTEM
M:	Jingoo Han <jg1.han@samsung.com>
M:	Jingoo Han <jingoohan1@gmail.com>
M:	Lee Jones <lee.jones@linaro.org>
M:	Lee Jones <lee.jones@linaro.org>
S:	Maintained
S:	Maintained
F:	drivers/video/backlight/
F:	drivers/video/backlight/
@@ -3918,7 +3918,7 @@ F: drivers/extcon/
F:	Documentation/extcon/
F:	Documentation/extcon/


EXYNOS DP DRIVER
EXYNOS DP DRIVER
M:	Jingoo Han <jg1.han@samsung.com>
M:	Jingoo Han <jingoohan1@gmail.com>
L:	dri-devel@lists.freedesktop.org
L:	dri-devel@lists.freedesktop.org
S:	Maintained
S:	Maintained
F:	drivers/gpu/drm/exynos/exynos_dp*
F:	drivers/gpu/drm/exynos/exynos_dp*
@@ -7557,7 +7557,7 @@ S: Maintained
F:	drivers/pci/host/*rcar*
F:	drivers/pci/host/*rcar*


PCI DRIVER FOR SAMSUNG EXYNOS
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-pci@vger.kernel.org
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
L:	linux-samsung-soc@vger.kernel.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
F:	drivers/pci/host/pci-exynos.c


PCI DRIVER FOR SYNOPSIS DESIGNWARE
PCI DRIVER FOR SYNOPSIS DESIGNWARE
M:	Jingoo Han <jg1.han@samsung.com>
M:	Jingoo Han <jingoohan1@gmail.com>
L:	linux-pci@vger.kernel.org
L:	linux-pci@vger.kernel.org
S:	Maintained
S:	Maintained
F:	drivers/pci/host/*designware*
F:	drivers/pci/host/*designware*
@@ -8521,7 +8521,7 @@ S: Supported
F:	sound/soc/samsung/
F:	sound/soc/samsung/


SAMSUNG FRAMEBUFFER DRIVER
SAMSUNG FRAMEBUFFER DRIVER
M:	Jingoo Han <jg1.han@samsung.com>
M:	Jingoo Han <jingoohan1@gmail.com>
L:	linux-fbdev@vger.kernel.org
L:	linux-fbdev@vger.kernel.org
S:	Maintained
S:	Maintained
F:	drivers/video/fbdev/s3c-fb.c
F:	drivers/video/fbdev/s3c-fb.c
+1 −1
Original line number Original line Diff line number Diff line
@@ -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)
static int armada38x_rtc_read_time(struct device *dev, struct rtc_time *tm)
{
{
	struct armada38x_rtc *rtc = dev_get_drvdata(dev);
	struct armada38x_rtc *rtc = dev_get_drvdata(dev);
	unsigned long time, time_check, flags;
	unsigned long time, time_check;


	mutex_lock(&rtc->mutex_time);
	mutex_lock(&rtc->mutex_time);
	time = readl(rtc->regs + RTC_TIME);
	time = readl(rtc->regs + RTC_TIME);
+8 −1
Original line number Original line Diff line number Diff line
@@ -518,7 +518,14 @@ static struct kernfs_node *__kernfs_new_node(struct kernfs_root *root,
	if (!kn)
	if (!kn)
		goto err_out1;
		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)
	if (ret < 0)
		goto err_out2;
		goto err_out2;
	kn->ino = ret;
	kn->ino = ret;
+2 −0
Original line number Original line Diff line number Diff line
@@ -30,6 +30,7 @@ struct vm_area_struct;
#define ___GFP_HARDWALL		0x20000u
#define ___GFP_HARDWALL		0x20000u
#define ___GFP_THISNODE		0x40000u
#define ___GFP_THISNODE		0x40000u
#define ___GFP_RECLAIMABLE	0x80000u
#define ___GFP_RECLAIMABLE	0x80000u
#define ___GFP_NOACCOUNT	0x100000u
#define ___GFP_NOTRACK		0x200000u
#define ___GFP_NOTRACK		0x200000u
#define ___GFP_NO_KSWAPD	0x400000u
#define ___GFP_NO_KSWAPD	0x400000u
#define ___GFP_OTHER_NODE	0x800000u
#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_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_THISNODE	((__force gfp_t)___GFP_THISNODE)/* No fallback, no policies */
#define __GFP_RECLAIMABLE ((__force gfp_t)___GFP_RECLAIMABLE) /* Page is reclaimable */
#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_NOTRACK	((__force gfp_t)___GFP_NOTRACK)  /* Don't track with kmemcheck */


#define __GFP_NO_KSWAPD	((__force gfp_t)___GFP_NO_KSWAPD)
#define __GFP_NO_KSWAPD	((__force gfp_t)___GFP_NO_KSWAPD)
+4 −0
Original line number Original line Diff line number Diff line
@@ -463,6 +463,8 @@ memcg_kmem_newpage_charge(gfp_t gfp, struct mem_cgroup **memcg, int order)
	if (!memcg_kmem_enabled())
	if (!memcg_kmem_enabled())
		return true;
		return true;


	if (gfp & __GFP_NOACCOUNT)
		return true;
	/*
	/*
	 * __GFP_NOFAIL allocations will move on even if charging is not
	 * __GFP_NOFAIL allocations will move on even if charging is not
	 * possible. Therefore we don't even try, and have this allocation
	 * 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())
	if (!memcg_kmem_enabled())
		return cachep;
		return cachep;
	if (gfp & __GFP_NOACCOUNT)
		return cachep;
	if (gfp & __GFP_NOFAIL)
	if (gfp & __GFP_NOFAIL)
		return cachep;
		return cachep;
	if (in_interrupt() || (!current->mm) || (current->flags & PF_KTHREAD))
	if (in_interrupt() || (!current->mm) || (current->flags & PF_KTHREAD))
Loading