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

Commit a153e67b authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'akpm' (patches from Andrew Morton)

Merge fixes from Andrew Morton:
 "Bunch of fixes.

  And a reversion of mhocko's "Soft limit rework" patch series.  This is
  actually your fault for opening the merge window when I was off racing ;)

  I didn't read the email thread before sending everything off.
  Johannes Weiner raised significant issues:

    http://www.spinics.net/lists/cgroups/msg08813.html

  and we agreed to back it all out"

I clearly need to be more aware of Andrew's racing schedule.

* akpm:
  MAINTAINERS: update mach-bcm related email address
  checkpatch: make extern in .h prototypes quieter
  cciss: fix info leak in cciss_ioctl32_passthru()
  cpqarray: fix info leak in ida_locked_ioctl()
  kernel/reboot.c: re-enable the function of variable reboot_default
  audit: fix endless wait in audit_log_start()
  revert "memcg, vmscan: integrate soft reclaim tighter with zone shrinking code"
  revert "memcg: get rid of soft-limit tree infrastructure"
  revert "vmscan, memcg: do softlimit reclaim also for targeted reclaim"
  revert "memcg: enhance memcg iterator to support predicates"
  revert "memcg: track children in soft limit excess to improve soft limit"
  revert "memcg, vmscan: do not attempt soft limit reclaim if it would not scan anything"
  revert "memcg: track all children over limit in the root"
  revert "memcg, vmscan: do not fall into reclaim-all pass too quickly"
  fs/ocfs2/super.c: use a bigger nodestr in ocfs2_dismount_volume
  watchdog: update watchdog_thresh properly
  watchdog: update watchdog attributes atomically
parents e288e931 497a045d
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -1812,7 +1812,8 @@ S: Supported
F:	drivers/net/ethernet/broadcom/bnx2x/
F:	drivers/net/ethernet/broadcom/bnx2x/


BROADCOM BCM281XX/BCM11XXX ARM ARCHITECTURE
BROADCOM BCM281XX/BCM11XXX ARM ARCHITECTURE
M:	Christian Daudt <csd@broadcom.com>
M:	Christian Daudt <bcm@fixthebug.org>
L:	bcm-kernel-feedback-list@broadcom.com
T:	git git://git.github.com/broadcom/bcm11351
T:	git git://git.github.com/broadcom/bcm11351
S:	Maintained
S:	Maintained
F:	arch/arm/mach-bcm/
F:	arch/arm/mach-bcm/
+1 −0
Original line number Original line Diff line number Diff line
@@ -1189,6 +1189,7 @@ static int cciss_ioctl32_passthru(struct block_device *bdev, fmode_t mode,
	int err;
	int err;
	u32 cp;
	u32 cp;


	memset(&arg64, 0, sizeof(arg64));
	err = 0;
	err = 0;
	err |=
	err |=
	    copy_from_user(&arg64.LUN_info, &arg32->LUN_info,
	    copy_from_user(&arg64.LUN_info, &arg32->LUN_info,
+1 −0
Original line number Original line Diff line number Diff line
@@ -1193,6 +1193,7 @@ static int ida_locked_ioctl(struct block_device *bdev, fmode_t mode, unsigned in
		ida_pci_info_struct pciinfo;
		ida_pci_info_struct pciinfo;


		if (!arg) return -EINVAL;
		if (!arg) return -EINVAL;
		memset(&pciinfo, 0, sizeof(pciinfo));
		pciinfo.bus = host->pci_dev->bus->number;
		pciinfo.bus = host->pci_dev->bus->number;
		pciinfo.dev_fn = host->pci_dev->devfn;
		pciinfo.dev_fn = host->pci_dev->devfn;
		pciinfo.board_id = host->board_id;
		pciinfo.board_id = host->board_id;
+1 −1
Original line number Original line Diff line number Diff line
@@ -1924,7 +1924,7 @@ static void ocfs2_dismount_volume(struct super_block *sb, int mnt_err)
{
{
	int tmp, hangup_needed = 0;
	int tmp, hangup_needed = 0;
	struct ocfs2_super *osb = NULL;
	struct ocfs2_super *osb = NULL;
	char nodestr[8];
	char nodestr[12];


	trace_ocfs2_dismount_volume(sb);
	trace_ocfs2_dismount_volume(sb);


+10 −45
Original line number Original line Diff line number Diff line
@@ -53,23 +53,6 @@ struct mem_cgroup_reclaim_cookie {
	unsigned int generation;
	unsigned int generation;
};
};


enum mem_cgroup_filter_t {
	VISIT,		/* visit current node */
	SKIP,		/* skip the current node and continue traversal */
	SKIP_TREE,	/* skip the whole subtree and continue traversal */
};

/*
 * mem_cgroup_filter_t predicate might instruct mem_cgroup_iter_cond how to
 * iterate through the hierarchy tree. Each tree element is checked by the
 * predicate before it is returned by the iterator. If a filter returns
 * SKIP or SKIP_TREE then the iterator code continues traversal (with the
 * next node down the hierarchy or the next node that doesn't belong under the
 * memcg's subtree).
 */
typedef enum mem_cgroup_filter_t
(*mem_cgroup_iter_filter)(struct mem_cgroup *memcg, struct mem_cgroup *root);

#ifdef CONFIG_MEMCG
#ifdef CONFIG_MEMCG
/*
/*
 * All "charge" functions with gfp_mask should use GFP_KERNEL or
 * All "charge" functions with gfp_mask should use GFP_KERNEL or
@@ -137,18 +120,9 @@ mem_cgroup_prepare_migration(struct page *page, struct page *newpage,
extern void mem_cgroup_end_migration(struct mem_cgroup *memcg,
extern void mem_cgroup_end_migration(struct mem_cgroup *memcg,
	struct page *oldpage, struct page *newpage, bool migration_ok);
	struct page *oldpage, struct page *newpage, bool migration_ok);


struct mem_cgroup *mem_cgroup_iter_cond(struct mem_cgroup *root,
struct mem_cgroup *mem_cgroup_iter(struct mem_cgroup *,
				   struct mem_cgroup *prev,
				   struct mem_cgroup *,
				   struct mem_cgroup_reclaim_cookie *reclaim,
				   struct mem_cgroup_reclaim_cookie *);
				   mem_cgroup_iter_filter cond);

static inline struct mem_cgroup *mem_cgroup_iter(struct mem_cgroup *root,
				   struct mem_cgroup *prev,
				   struct mem_cgroup_reclaim_cookie *reclaim)
{
	return mem_cgroup_iter_cond(root, prev, reclaim, NULL);
}

void mem_cgroup_iter_break(struct mem_cgroup *, struct mem_cgroup *);
void mem_cgroup_iter_break(struct mem_cgroup *, struct mem_cgroup *);


/*
/*
@@ -260,9 +234,9 @@ static inline void mem_cgroup_dec_page_stat(struct page *page,
	mem_cgroup_update_page_stat(page, idx, -1);
	mem_cgroup_update_page_stat(page, idx, -1);
}
}


enum mem_cgroup_filter_t
unsigned long mem_cgroup_soft_limit_reclaim(struct zone *zone, int order,
mem_cgroup_soft_reclaim_eligible(struct mem_cgroup *memcg,
						gfp_t gfp_mask,
		struct mem_cgroup *root);
						unsigned long *total_scanned);


void __mem_cgroup_count_vm_event(struct mm_struct *mm, enum vm_event_item idx);
void __mem_cgroup_count_vm_event(struct mm_struct *mm, enum vm_event_item idx);
static inline void mem_cgroup_count_vm_event(struct mm_struct *mm,
static inline void mem_cgroup_count_vm_event(struct mm_struct *mm,
@@ -376,15 +350,6 @@ static inline void mem_cgroup_end_migration(struct mem_cgroup *memcg,
		struct page *oldpage, struct page *newpage, bool migration_ok)
		struct page *oldpage, struct page *newpage, bool migration_ok)
{
{
}
}
static inline struct mem_cgroup *
mem_cgroup_iter_cond(struct mem_cgroup *root,
		struct mem_cgroup *prev,
		struct mem_cgroup_reclaim_cookie *reclaim,
		mem_cgroup_iter_filter cond)
{
	/* first call must return non-NULL, second return NULL */
	return (struct mem_cgroup *)(unsigned long)!prev;
}


static inline struct mem_cgroup *
static inline struct mem_cgroup *
mem_cgroup_iter(struct mem_cgroup *root,
mem_cgroup_iter(struct mem_cgroup *root,
@@ -471,11 +436,11 @@ static inline void mem_cgroup_dec_page_stat(struct page *page,
}
}


static inline
static inline
enum mem_cgroup_filter_t
unsigned long mem_cgroup_soft_limit_reclaim(struct zone *zone, int order,
mem_cgroup_soft_reclaim_eligible(struct mem_cgroup *memcg,
					    gfp_t gfp_mask,
		struct mem_cgroup *root)
					    unsigned long *total_scanned)
{
{
	return VISIT;
	return 0;
}
}


static inline void mem_cgroup_split_huge_fixup(struct page *head)
static inline void mem_cgroup_split_huge_fixup(struct page *head)
Loading