History

Merge 5.3-rc2 into usb-next

We need the USB fixes in here as well.

Greg Kroah-Hartman committed 7 years ago

Commit 2a0f4f12 parents 6389a62 609488b584 files · +3956 −4863Browse files

Showing the changes to include/linux (13 of 584 files). Show all

Unified · Split

13 files
  1. include/linux/blk-cgroup.h +1 −0
  2. include/linux/blk_types.h +4 −1
  3. include/linux/connector.h +0 −1
  4. include/linux/cred.h +7 −1
  5. include/linux/device.h +6 −0
  6. include/linux/dma-mapping.h +2 −2
  7. include/linux/elevator.h +0 −1
  8. include/linux/iova.h +6 −0
  9. include/linux/netfilter/nf_conntrack_h323_asn1.h +1 −2
  10. include/linux/of.h +1 −1
  11. include/linux/sched.h +9 −1
  12. include/linux/sched/numa_balancing.h +2 −2
  13. include/linux/wait.h +13 −0
include/linux/blk-cgroup.h+1−0
@@ -181,6 +181,7 @@ struct blkcg_policy { · 180 unmodified lines
181181
182182 extern struct blkcg blkcg_root;
183183 extern struct cgroup_subsys_state * const blkcg_root_css;
184+extern bool blkcg_debug_stats;
184185
185186 struct blkcg_gq *blkg_lookup_slowpath(struct blkcg *blkcg,
186187 struct request_queue *q, bool update_hint);
include/linux/blk_types.h+4−1
@@ -311,6 +311,7 @@ enum req_flag_bits { · 310 unmodified lines
311311 __REQ_RAHEAD, /* read ahead, can fail anytime */
312312 __REQ_BACKGROUND, /* background IO */
313313 __REQ_NOWAIT, /* Don't wait if request will block */
314+ __REQ_NOWAIT_INLINE, /* Return would-block error inline */
314315 /*
315316 * When a shared kthread needs to issue a bio for a cgroup, doing
316317 * so synchronously can lead to priority inversions as the kthread
@@ -345,6 +346,7 @@ enum req_flag_bits { · 28 unmodified lines
345346 #define REQ_RAHEAD (1ULL << __REQ_RAHEAD)
346347 #define REQ_BACKGROUND (1ULL << __REQ_BACKGROUND)
347348 #define REQ_NOWAIT (1ULL << __REQ_NOWAIT)
349+#define REQ_NOWAIT_INLINE (1ULL << __REQ_NOWAIT_INLINE)
348350 #define REQ_CGROUP_PUNT (1ULL << __REQ_CGROUP_PUNT)
349351
350352 #define REQ_NOUNMAP (1ULL << __REQ_NOUNMAP)
@@ -418,12 +420,13 @@ static inline int op_stat_group(unsigned int op) · 67 unmodified lines
418420
419421 typedef unsigned int blk_qc_t;
420422 #define BLK_QC_T_NONE -1U
423+#define BLK_QC_T_EAGAIN -2U
421424 #define BLK_QC_T_SHIFT 16
422425 #define BLK_QC_T_INTERNAL (1U << 31)
423426
424427 static inline bool blk_qc_t_valid(blk_qc_t cookie)
425428 {
426− return cookie != BLK_QC_T_NONE;
429+ return cookie != BLK_QC_T_NONE && cookie != BLK_QC_T_EAGAIN;
427430 }
428431
429432 static inline unsigned int blk_qc_t_to_queue_num(blk_qc_t cookie)
include/linux/connector.h+0−1
@@ -50,7 +50,6 @@ struct cn_dev { · 49 unmodified lines
5050
5151 u32 seq, groups;
5252 struct sock *nls;
53− void (*input) (struct sk_buff *skb);
5453
5554 struct cn_queue_dev *cbdev;
5655 };
include/linux/cred.h+7−1
@@ -145,7 +145,11 @@ struct cred { · 144 unmodified lines
145145 struct user_struct *user; /* real user ID subscription */
146146 struct user_namespace *user_ns; /* user_ns the caps and keyrings are relative to. */
147147 struct group_info *group_info; /* supplementary groups for euid/fsgid */
148− struct rcu_head rcu; /* RCU deletion hook */
148+ /* RCU deletion */
149+ union {
150+ int non_rcu; /* Can we skip RCU deletion? */
151+ struct rcu_head rcu; /* RCU deletion hook */
152+ };
149153 } __randomize_layout;
150154
151155 extern void __put_cred(struct cred *);
@@ -246,6 +250,7 @@ static inline const struct cred *get_cred(const struct cred *cred) · 94 unmodified lines
246250 if (!cred)
247251 return cred;
248252 validate_creds(cred);
253+ nonconst_cred->non_rcu = 0;
249254 return get_new_cred(nonconst_cred);
250255 }
251256
@@ -257,6 +262,7 @@ static inline const struct cred *get_cred_rcu(const struct cred *cred) · 5 unmodified lines
257262 if (!atomic_inc_not_zero(&nonconst_cred->usage))
258263 return NULL;
259264 validate_creds(cred);
265+ nonconst_cred->non_rcu = 0;
260266 return cred;
261267 }
262268
include/linux/device.h+6−0
@@ -915,6 +915,8 @@ struct dev_links_info { · 914 unmodified lines
915915 * This identifies the device type and carries type-specific
916916 * information.
917917 * @mutex: Mutex to synchronize calls to its driver.
918+ * @lockdep_mutex: An optional debug lock that a subsystem can use as a
919+ * peer lock to gain localized lockdep coverage of the device_lock.
918920 * @bus: Type of bus device is on.
919921 * @driver: Which driver has allocated this
920922 * @platform_data: Platform data specific to the device.
@@ -998,6 +1000,9 @@ struct device { · 77 unmodified lines
9981000 core doesn't touch it */
9991001 void *driver_data; /* Driver data, set and get with
10001002 dev_set_drvdata/dev_get_drvdata */
1003+#ifdef CONFIG_PROVE_LOCKING
1004+ struct mutex lockdep_mutex;
1005+#endif
10011006 struct mutex mutex; /* mutex to synchronize calls to
10021007 * its driver.
10031008 */
@@ -1383,6 +1388,7 @@ extern int (*platform_notify_remove)(struct device *dev); · 379 unmodified lines
13831388 */
13841389 extern struct device *get_device(struct device *dev);
13851390 extern void put_device(struct device *dev);
1391+extern bool kill_device(struct device *dev);
13861392
13871393 #ifdef CONFIG_DEVTMPFS
13881394 extern int devtmpfs_create_node(struct device *dev);
include/linux/dma-mapping.h+2−2
@@ -689,8 +689,8 @@ static inline int dma_coerce_mask_and_coherent(struct device *dev, u64 mask) · 688 unmodified lines
689689 */
690690 static inline bool dma_addressing_limited(struct device *dev)
691691 {
692− return min_not_zero(*dev->dma_mask, dev->bus_dma_mask) <
693− dma_get_required_mask(dev);
692+ return min_not_zero(dma_get_mask(dev), dev->bus_dma_mask) <
693+ dma_get_required_mask(dev);
694694 }
695695
696696 #ifdef CONFIG_ARCH_HAS_SETUP_DMA_OPS
include/linux/elevator.h+0−1
@@ -45,7 +45,6 @@ struct elevator_mq_ops { · 44 unmodified lines
4545 struct request *(*dispatch_request)(struct blk_mq_hw_ctx *);
4646 bool (*has_work)(struct blk_mq_hw_ctx *);
4747 void (*completed_request)(struct request *, u64);
48− void (*started_request)(struct request *);
4948 void (*requeue_request)(struct request *);
5049 struct request *(*former_request)(struct request_queue *, struct request *);
5150 struct request *(*next_request)(struct request_queue *, struct request *);
include/linux/iova.h+6−0
@@ -155,6 +155,7 @@ struct iova *reserve_iova(struct iova_domain *iovad, unsigned long pfn_lo, · 154 unmodified lines
155155 void copy_reserved_iova(struct iova_domain *from, struct iova_domain *to);
156156 void init_iova_domain(struct iova_domain *iovad, unsigned long granule,
157157 unsigned long start_pfn);
158+bool has_iova_flush_queue(struct iova_domain *iovad);
158159 int init_iova_flush_queue(struct iova_domain *iovad,
159160 iova_flush_cb flush_cb, iova_entry_dtor entry_dtor);
160161 struct iova *find_iova(struct iova_domain *iovad, unsigned long pfn);
@@ -235,6 +236,11 @@ static inline void init_iova_domain(struct iova_domain *iovad, · 74 unmodified lines
235236 {
236237 }
237238
239+static inline bool has_iova_flush_queue(struct iova_domain *iovad)
240+{
241+ return false;
242+}
243+
238244 static inline int init_iova_flush_queue(struct iova_domain *iovad,
239245 iova_flush_cb flush_cb,
240246 iova_entry_dtor entry_dtor)
include/linux/netfilter/nf_conntrack_h323_asn1.h+1−2
@@ -1,7 +1,6 @@
11 /* SPDX-License-Identifier: GPL-2.0-only */
22 /****************************************************************************
3− * ip_conntrack_h323_asn1.h - BER and PER decoding library for H.323
4− * conntrack/NAT module.
3+ * BER and PER decoding library for H.323 conntrack/NAT module.
54 *
65 * Copyright (c) 2006 by Jing Min Zhao <zhaojingmin@users.sourceforge.net>
76 *
include/linux/of.h+1−1
@@ -1164,7 +1164,7 @@ static inline int of_property_read_string_index(const struct device_node *np, · 1163 unmodified lines
11641164 }
11651165
11661166 /**
1167− * of_property_read_bool - Findfrom a property
1167+ * of_property_read_bool - Find a property
11681168 * @np: device node from which the property value is to be read.
11691169 * @propname: name of the property to be searched.
11701170 *
include/linux/sched.h+9−1
@@ -1092,7 +1092,15 @@ struct task_struct { · 1091 unmodified lines
10921092 u64 last_sum_exec_runtime;
10931093 struct callback_head numa_work;
10941094
1095− struct numa_group *numa_group;
1095+ /*
1096+ * This pointer is only modified for current in syscall and
1097+ * pagefault context (and for tasks being destroyed), so it can be read
1098+ * from any of the following contexts:
1099+ * - RCU read-side critical section
1100+ * - current->numa_group from everywhere
1101+ * - task's runqueue locked, task not running
1102+ */
1103+ struct numa_group __rcu *numa_group;
10961104
10971105 /*
10981106 * numa_faults is an array split into four regions:
include/linux/sched/numa_balancing.h+2−2
@@ -19,7 +19,7 @@ · 18 unmodified lines
1919 extern void task_numa_fault(int last_node, int node, int pages, int flags);
2020 extern pid_t task_numa_group_id(struct task_struct *p);
2121 extern void set_numabalancing_state(bool enabled);
22−extern void task_numa_free(struct task_struct *p);
22+extern void task_numa_free(struct task_struct *p, bool final);
2323 extern bool should_numa_migrate_memory(struct task_struct *p, struct page *page,
2424 int src_nid, int dst_cpu);
2525 #else
@@ -34,7 +34,7 @@ static inline pid_t task_numa_group_id(struct task_struct *p) · 8 unmodified lines
3434 static inline void set_numabalancing_state(bool enabled)
3535 {
3636 }
37−static inline void task_numa_free(struct task_struct *p)
37+static inline void task_numa_free(struct task_struct *p, bool final)
3838 {
3939 }
4040 static inline bool should_numa_migrate_memory(struct task_struct *p,
include/linux/wait.h+13−0
@@ -126,6 +126,19 @@ static inline int waitqueue_active(struct wait_queue_head *wq_head) · 125 unmodified lines
126126 return !list_empty(&wq_head->head);
127127 }
128128
129+/**
130+ * wq_has_single_sleeper - check if there is only one sleeper
131+ * @wq_head: wait queue head
132+ *
133+ * Returns true of wq_head has only one sleeper on the list.
134+ *
135+ * Please refer to the comment for waitqueue_active.
136+ */
137+static inline bool wq_has_single_sleeper(struct wait_queue_head *wq_head)
138+{
139+ return list_is_singular(&wq_head->head);
140+}
141+
129142 /**
130143 * wq_has_sleeper - check if there are any waiting processes
131144 * @wq_head: wait queue head

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t