Merge branch 'akpm' (patches from Andrew)
Merge some more updates from Andrew Morton: - various hotfixes and minor things - hch's use_mm/unuse_mm clearnups Subsystems affected by this patch series: mm/hugetlb, scripts, kcov, lib, nilfs, checkpatch, lib, mm/debug, ocfs2, lib, misc. * emailed patches from Andrew Morton <akpm@linux-foundation.org>: kernel: set USER_DS in kthread_use_mm kernel: better document the use_mm/unuse_mm API contract kernel: move use_mm/unuse_mm to kthread.c kernel: move use_mm/unuse_mm to kthread.c stacktrace: cleanup inconsistent variable type lib: test get_count_order/long in test_bitops.c mm: add comments on pglist_data zones ocfs2: fix spelling mistake and grammar mm/debug_vm_pgtable: fix kernel crash by checking for THP support lib: fix bitmap_parse() on 64-bit big endian archs checkpatch: correct check for kernel parameters doc nilfs2: fix null pointer dereference at nilfs_segctor_do_construct() lib/lz4/lz4_decompress.c: document deliberate use of `&' kcov: check kcov_softirq in kcov_remote_stop() scripts/spelling: add a few more typos khugepaged: selftests: fix timeout condition in wait_for_scan()
This commit is contained in:
@@ -5,6 +5,8 @@
|
||||
#include <linux/err.h>
|
||||
#include <linux/sched.h>
|
||||
|
||||
struct mm_struct;
|
||||
|
||||
__printf(4, 5)
|
||||
struct task_struct *kthread_create_on_node(int (*threadfn)(void *data),
|
||||
void *data,
|
||||
@@ -199,6 +201,9 @@ bool kthread_cancel_delayed_work_sync(struct kthread_delayed_work *work);
|
||||
|
||||
void kthread_destroy_worker(struct kthread_worker *worker);
|
||||
|
||||
void kthread_use_mm(struct mm_struct *mm);
|
||||
void kthread_unuse_mm(struct mm_struct *mm);
|
||||
|
||||
struct cgroup_subsys_state;
|
||||
|
||||
#ifdef CONFIG_BLK_CGROUP
|
||||
|
@@ -4,11 +4,6 @@
|
||||
|
||||
#include <asm/mmu_context.h>
|
||||
|
||||
struct mm_struct;
|
||||
|
||||
void use_mm(struct mm_struct *mm);
|
||||
void unuse_mm(struct mm_struct *mm);
|
||||
|
||||
/* Architectures that care about IRQ state in switch_mm can override this. */
|
||||
#ifndef switch_mm_irqs_off
|
||||
# define switch_mm_irqs_off switch_mm
|
||||
|
@@ -660,9 +660,21 @@ struct deferred_split {
|
||||
* per-zone basis.
|
||||
*/
|
||||
typedef struct pglist_data {
|
||||
/*
|
||||
* node_zones contains just the zones for THIS node. Not all of the
|
||||
* zones may be populated, but it is the full list. It is referenced by
|
||||
* this node's node_zonelists as well as other node's node_zonelists.
|
||||
*/
|
||||
struct zone node_zones[MAX_NR_ZONES];
|
||||
|
||||
/*
|
||||
* node_zonelists contains references to all zones in all nodes.
|
||||
* Generally the first zones will be references to this node's
|
||||
* node_zones.
|
||||
*/
|
||||
struct zonelist node_zonelists[MAX_ZONELISTS];
|
||||
int nr_zones;
|
||||
|
||||
int nr_zones; /* number of populated zones in this node */
|
||||
#ifdef CONFIG_FLAT_NODE_MEM_MAP /* means !SPARSEMEM */
|
||||
struct page *node_mem_map;
|
||||
#ifdef CONFIG_PAGE_EXTENSION
|
||||
|
@@ -64,7 +64,7 @@ void arch_stack_walk_user(stack_trace_consume_fn consume_entry, void *cookie,
|
||||
struct stack_trace {
|
||||
unsigned int nr_entries, max_entries;
|
||||
unsigned long *entries;
|
||||
int skip; /* input argument: How many entries to skip */
|
||||
unsigned int skip; /* input argument: How many entries to skip */
|
||||
};
|
||||
|
||||
extern void save_stack_trace(struct stack_trace *trace);
|
||||
|
Reference in New Issue
Block a user