diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-generic/tlb.h | 9 | ||||
| -rw-r--r-- | include/linux/ipc_namespace.h | 1 | ||||
| -rw-r--r-- | include/linux/mmzone.h | 8 | ||||
| -rw-r--r-- | include/linux/msg.h | 6 | ||||
| -rw-r--r-- | include/uapi/linux/msg.h | 1 |
5 files changed, 15 insertions, 10 deletions
diff --git a/include/asm-generic/tlb.h b/include/asm-generic/tlb.h index ed6642ad03e0..25f01d0bc149 100644 --- a/include/asm-generic/tlb.h +++ b/include/asm-generic/tlb.h | |||
| @@ -78,6 +78,14 @@ struct mmu_gather_batch { | |||
| 78 | #define MAX_GATHER_BATCH \ | 78 | #define MAX_GATHER_BATCH \ |
| 79 | ((PAGE_SIZE - sizeof(struct mmu_gather_batch)) / sizeof(void *)) | 79 | ((PAGE_SIZE - sizeof(struct mmu_gather_batch)) / sizeof(void *)) |
| 80 | 80 | ||
| 81 | /* | ||
| 82 | * Limit the maximum number of mmu_gather batches to reduce a risk of soft | ||
| 83 | * lockups for non-preemptible kernels on huge machines when a lot of memory | ||
| 84 | * is zapped during unmapping. | ||
| 85 | * 10K pages freed at once should be safe even without a preemption point. | ||
| 86 | */ | ||
| 87 | #define MAX_GATHER_BATCH_COUNT (10000UL/MAX_GATHER_BATCH) | ||
| 88 | |||
| 81 | /* struct mmu_gather is an opaque type used by the mm code for passing around | 89 | /* struct mmu_gather is an opaque type used by the mm code for passing around |
| 82 | * any data needed by arch specific code for tlb_remove_page. | 90 | * any data needed by arch specific code for tlb_remove_page. |
| 83 | */ | 91 | */ |
| @@ -96,6 +104,7 @@ struct mmu_gather { | |||
| 96 | struct mmu_gather_batch *active; | 104 | struct mmu_gather_batch *active; |
| 97 | struct mmu_gather_batch local; | 105 | struct mmu_gather_batch local; |
| 98 | struct page *__pages[MMU_GATHER_BUNDLE]; | 106 | struct page *__pages[MMU_GATHER_BUNDLE]; |
| 107 | unsigned int batch_count; | ||
| 99 | }; | 108 | }; |
| 100 | 109 | ||
| 101 | #define HAVE_GENERIC_MMU_GATHER | 110 | #define HAVE_GENERIC_MMU_GATHER |
diff --git a/include/linux/ipc_namespace.h b/include/linux/ipc_namespace.h index fe771978e877..ae221a7b5092 100644 --- a/include/linux/ipc_namespace.h +++ b/include/linux/ipc_namespace.h | |||
| @@ -24,6 +24,7 @@ struct ipc_ids { | |||
| 24 | unsigned short seq_max; | 24 | unsigned short seq_max; |
| 25 | struct rw_semaphore rw_mutex; | 25 | struct rw_semaphore rw_mutex; |
| 26 | struct idr ipcs_idr; | 26 | struct idr ipcs_idr; |
| 27 | int next_id; | ||
| 27 | }; | 28 | }; |
| 28 | 29 | ||
| 29 | struct ipc_namespace { | 30 | struct ipc_namespace { |
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index 4bec5be82cab..73b64a38b984 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h | |||
| @@ -503,14 +503,6 @@ struct zone { | |||
| 503 | * rarely used fields: | 503 | * rarely used fields: |
| 504 | */ | 504 | */ |
| 505 | const char *name; | 505 | const char *name; |
| 506 | #ifdef CONFIG_MEMORY_ISOLATION | ||
| 507 | /* | ||
| 508 | * the number of MIGRATE_ISOLATE *pageblock*. | ||
| 509 | * We need this for free page counting. Look at zone_watermark_ok_safe. | ||
| 510 | * It's protected by zone->lock | ||
| 511 | */ | ||
| 512 | int nr_pageblock_isolate; | ||
| 513 | #endif | ||
| 514 | } ____cacheline_internodealigned_in_smp; | 506 | } ____cacheline_internodealigned_in_smp; |
| 515 | 507 | ||
| 516 | typedef enum { | 508 | typedef enum { |
diff --git a/include/linux/msg.h b/include/linux/msg.h index 7a4b9e97d29a..391af8d11cce 100644 --- a/include/linux/msg.h +++ b/include/linux/msg.h | |||
| @@ -34,7 +34,9 @@ struct msg_queue { | |||
| 34 | /* Helper routines for sys_msgsnd and sys_msgrcv */ | 34 | /* Helper routines for sys_msgsnd and sys_msgrcv */ |
| 35 | extern long do_msgsnd(int msqid, long mtype, void __user *mtext, | 35 | extern long do_msgsnd(int msqid, long mtype, void __user *mtext, |
| 36 | size_t msgsz, int msgflg); | 36 | size_t msgsz, int msgflg); |
| 37 | extern long do_msgrcv(int msqid, long *pmtype, void __user *mtext, | 37 | extern long do_msgrcv(int msqid, void __user *buf, size_t bufsz, long msgtyp, |
| 38 | size_t msgsz, long msgtyp, int msgflg); | 38 | int msgflg, |
| 39 | long (*msg_fill)(void __user *, struct msg_msg *, | ||
| 40 | size_t)); | ||
| 39 | 41 | ||
| 40 | #endif /* _LINUX_MSG_H */ | 42 | #endif /* _LINUX_MSG_H */ |
diff --git a/include/uapi/linux/msg.h b/include/uapi/linux/msg.h index 78dbd2f996a3..22d95c6854e0 100644 --- a/include/uapi/linux/msg.h +++ b/include/uapi/linux/msg.h | |||
| @@ -10,6 +10,7 @@ | |||
| 10 | /* msgrcv options */ | 10 | /* msgrcv options */ |
| 11 | #define MSG_NOERROR 010000 /* no error if message is too big */ | 11 | #define MSG_NOERROR 010000 /* no error if message is too big */ |
| 12 | #define MSG_EXCEPT 020000 /* recv any msg except of specified type.*/ | 12 | #define MSG_EXCEPT 020000 /* recv any msg except of specified type.*/ |
| 13 | #define MSG_COPY 040000 /* copy (not remove) all queue messages */ | ||
| 13 | 14 | ||
| 14 | /* Obsolete, used only for backwards compatibility and libc5 compiles */ | 15 | /* Obsolete, used only for backwards compatibility and libc5 compiles */ |
| 15 | struct msqid_ds { | 16 | struct msqid_ds { |
