diff options
| author | David S. Miller <davem@davemloft.net> | 2017-10-30 01:10:01 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2017-10-30 08:09:24 -0400 |
| commit | e1ea2f9856b765a2eaabb403a6751f70efc9ba4c (patch) | |
| tree | 771f0f96fdab1b27757730e96d911c73f5499ee4 /include/linux | |
| parent | aad93c70b9a3b80dbc383a31e77a119f69bdd856 (diff) | |
| parent | 0b07194bb55ed836c2cc7c22e866b87a14681984 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Several conflicts here.
NFP driver bug fix adding nfp_netdev_is_nfp_repr() check to
nfp_fl_output() needed some adjustments because the code block is in
an else block now.
Parallel additions to net/pkt_cls.h and net/sch_generic.h
A bug fix in __tcp_retransmit_skb() conflicted with some of
the rbtree changes in net-next.
The tc action RCU callback fixes in 'net' had some overlap with some
of the recent tcf_block reworking.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/if_tap.h | 4 | ||||
| -rw-r--r-- | include/linux/irq.h | 2 | ||||
| -rw-r--r-- | include/linux/irqchip/arm-gic-v3.h | 2 | ||||
| -rw-r--r-- | include/linux/mlx5/port.h | 2 | ||||
| -rw-r--r-- | include/linux/pm_qos.h | 5 | ||||
| -rw-r--r-- | include/linux/sctp.h | 34 | ||||
| -rw-r--r-- | include/linux/swait.h | 27 |
7 files changed, 43 insertions, 33 deletions
diff --git a/include/linux/if_tap.h b/include/linux/if_tap.h index d1b5173ad8f0..d8ca8270f62d 100644 --- a/include/linux/if_tap.h +++ b/include/linux/if_tap.h | |||
| @@ -77,8 +77,8 @@ void tap_del_queues(struct tap_dev *tap); | |||
| 77 | int tap_get_minor(dev_t major, struct tap_dev *tap); | 77 | int tap_get_minor(dev_t major, struct tap_dev *tap); |
| 78 | void tap_free_minor(dev_t major, struct tap_dev *tap); | 78 | void tap_free_minor(dev_t major, struct tap_dev *tap); |
| 79 | int tap_queue_resize(struct tap_dev *tap); | 79 | int tap_queue_resize(struct tap_dev *tap); |
| 80 | int tap_create_cdev(struct cdev *tap_cdev, | 80 | int tap_create_cdev(struct cdev *tap_cdev, dev_t *tap_major, |
| 81 | dev_t *tap_major, const char *device_name); | 81 | const char *device_name, struct module *module); |
| 82 | void tap_destroy_cdev(dev_t major, struct cdev *tap_cdev); | 82 | void tap_destroy_cdev(dev_t major, struct cdev *tap_cdev); |
| 83 | 83 | ||
| 84 | #endif /*_LINUX_IF_TAP_H_*/ | 84 | #endif /*_LINUX_IF_TAP_H_*/ |
diff --git a/include/linux/irq.h b/include/linux/irq.h index d4728bf6a537..5ad10948ea95 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h | |||
| @@ -1009,7 +1009,7 @@ void irq_gc_mask_clr_bit(struct irq_data *d); | |||
| 1009 | void irq_gc_unmask_enable_reg(struct irq_data *d); | 1009 | void irq_gc_unmask_enable_reg(struct irq_data *d); |
| 1010 | void irq_gc_ack_set_bit(struct irq_data *d); | 1010 | void irq_gc_ack_set_bit(struct irq_data *d); |
| 1011 | void irq_gc_ack_clr_bit(struct irq_data *d); | 1011 | void irq_gc_ack_clr_bit(struct irq_data *d); |
| 1012 | void irq_gc_mask_disable_reg_and_ack(struct irq_data *d); | 1012 | void irq_gc_mask_disable_and_ack_set(struct irq_data *d); |
| 1013 | void irq_gc_eoi(struct irq_data *d); | 1013 | void irq_gc_eoi(struct irq_data *d); |
| 1014 | int irq_gc_set_wake(struct irq_data *d, unsigned int on); | 1014 | int irq_gc_set_wake(struct irq_data *d, unsigned int on); |
| 1015 | 1015 | ||
diff --git a/include/linux/irqchip/arm-gic-v3.h b/include/linux/irqchip/arm-gic-v3.h index 1ea576c8126f..14b74f22d43c 100644 --- a/include/linux/irqchip/arm-gic-v3.h +++ b/include/linux/irqchip/arm-gic-v3.h | |||
| @@ -372,6 +372,8 @@ | |||
| 372 | #define GITS_BASER_ENTRY_SIZE_SHIFT (48) | 372 | #define GITS_BASER_ENTRY_SIZE_SHIFT (48) |
| 373 | #define GITS_BASER_ENTRY_SIZE(r) ((((r) >> GITS_BASER_ENTRY_SIZE_SHIFT) & 0x1f) + 1) | 373 | #define GITS_BASER_ENTRY_SIZE(r) ((((r) >> GITS_BASER_ENTRY_SIZE_SHIFT) & 0x1f) + 1) |
| 374 | #define GITS_BASER_ENTRY_SIZE_MASK GENMASK_ULL(52, 48) | 374 | #define GITS_BASER_ENTRY_SIZE_MASK GENMASK_ULL(52, 48) |
| 375 | #define GITS_BASER_PHYS_52_to_48(phys) \ | ||
| 376 | (((phys) & GENMASK_ULL(47, 16)) | (((phys) >> 48) & 0xf) << 12) | ||
| 375 | #define GITS_BASER_SHAREABILITY_SHIFT (10) | 377 | #define GITS_BASER_SHAREABILITY_SHIFT (10) |
| 376 | #define GITS_BASER_InnerShareable \ | 378 | #define GITS_BASER_InnerShareable \ |
| 377 | GIC_BASER_SHAREABILITY(GITS_BASER, InnerShareable) | 379 | GIC_BASER_SHAREABILITY(GITS_BASER, InnerShareable) |
diff --git a/include/linux/mlx5/port.h b/include/linux/mlx5/port.h index c57d4b7de3a8..c59af8ab753a 100644 --- a/include/linux/mlx5/port.h +++ b/include/linux/mlx5/port.h | |||
| @@ -157,6 +157,8 @@ int mlx5_set_port_prio_tc(struct mlx5_core_dev *mdev, u8 *prio_tc); | |||
| 157 | int mlx5_query_port_prio_tc(struct mlx5_core_dev *mdev, | 157 | int mlx5_query_port_prio_tc(struct mlx5_core_dev *mdev, |
| 158 | u8 prio, u8 *tc); | 158 | u8 prio, u8 *tc); |
| 159 | int mlx5_set_port_tc_group(struct mlx5_core_dev *mdev, u8 *tc_group); | 159 | int mlx5_set_port_tc_group(struct mlx5_core_dev *mdev, u8 *tc_group); |
| 160 | int mlx5_query_port_tc_group(struct mlx5_core_dev *mdev, | ||
| 161 | u8 tc, u8 *tc_group); | ||
| 160 | int mlx5_set_port_tc_bw_alloc(struct mlx5_core_dev *mdev, u8 *tc_bw); | 162 | int mlx5_set_port_tc_bw_alloc(struct mlx5_core_dev *mdev, u8 *tc_bw); |
| 161 | int mlx5_query_port_tc_bw_alloc(struct mlx5_core_dev *mdev, | 163 | int mlx5_query_port_tc_bw_alloc(struct mlx5_core_dev *mdev, |
| 162 | u8 tc, u8 *bw_pct); | 164 | u8 tc, u8 *bw_pct); |
diff --git a/include/linux/pm_qos.h b/include/linux/pm_qos.h index 032b55909145..6737a8c9e8c6 100644 --- a/include/linux/pm_qos.h +++ b/include/linux/pm_qos.h | |||
| @@ -27,16 +27,17 @@ enum pm_qos_flags_status { | |||
| 27 | PM_QOS_FLAGS_ALL, | 27 | PM_QOS_FLAGS_ALL, |
| 28 | }; | 28 | }; |
| 29 | 29 | ||
| 30 | #define PM_QOS_DEFAULT_VALUE -1 | 30 | #define PM_QOS_DEFAULT_VALUE (-1) |
| 31 | #define PM_QOS_LATENCY_ANY S32_MAX | ||
| 31 | 32 | ||
| 32 | #define PM_QOS_CPU_DMA_LAT_DEFAULT_VALUE (2000 * USEC_PER_SEC) | 33 | #define PM_QOS_CPU_DMA_LAT_DEFAULT_VALUE (2000 * USEC_PER_SEC) |
| 33 | #define PM_QOS_NETWORK_LAT_DEFAULT_VALUE (2000 * USEC_PER_SEC) | 34 | #define PM_QOS_NETWORK_LAT_DEFAULT_VALUE (2000 * USEC_PER_SEC) |
| 34 | #define PM_QOS_NETWORK_THROUGHPUT_DEFAULT_VALUE 0 | 35 | #define PM_QOS_NETWORK_THROUGHPUT_DEFAULT_VALUE 0 |
| 35 | #define PM_QOS_MEMORY_BANDWIDTH_DEFAULT_VALUE 0 | 36 | #define PM_QOS_MEMORY_BANDWIDTH_DEFAULT_VALUE 0 |
| 36 | #define PM_QOS_RESUME_LATENCY_DEFAULT_VALUE 0 | 37 | #define PM_QOS_RESUME_LATENCY_DEFAULT_VALUE 0 |
| 38 | #define PM_QOS_RESUME_LATENCY_NO_CONSTRAINT PM_QOS_LATENCY_ANY | ||
| 37 | #define PM_QOS_LATENCY_TOLERANCE_DEFAULT_VALUE 0 | 39 | #define PM_QOS_LATENCY_TOLERANCE_DEFAULT_VALUE 0 |
| 38 | #define PM_QOS_LATENCY_TOLERANCE_NO_CONSTRAINT (-1) | 40 | #define PM_QOS_LATENCY_TOLERANCE_NO_CONSTRAINT (-1) |
| 39 | #define PM_QOS_LATENCY_ANY ((s32)(~(__u32)0 >> 1)) | ||
| 40 | 41 | ||
| 41 | #define PM_QOS_FLAG_NO_POWER_OFF (1 << 0) | 42 | #define PM_QOS_FLAG_NO_POWER_OFF (1 << 0) |
| 42 | #define PM_QOS_FLAG_REMOTE_WAKEUP (1 << 1) | 43 | #define PM_QOS_FLAG_REMOTE_WAKEUP (1 << 1) |
diff --git a/include/linux/sctp.h b/include/linux/sctp.h index 82b171e1aa0b..da803dfc7a39 100644 --- a/include/linux/sctp.h +++ b/include/linux/sctp.h | |||
| @@ -231,7 +231,7 @@ struct sctp_datahdr { | |||
| 231 | __be32 tsn; | 231 | __be32 tsn; |
| 232 | __be16 stream; | 232 | __be16 stream; |
| 233 | __be16 ssn; | 233 | __be16 ssn; |
| 234 | __be32 ppid; | 234 | __u32 ppid; |
| 235 | __u8 payload[0]; | 235 | __u8 payload[0]; |
| 236 | }; | 236 | }; |
| 237 | 237 | ||
| @@ -716,28 +716,28 @@ struct sctp_reconf_chunk { | |||
| 716 | 716 | ||
| 717 | struct sctp_strreset_outreq { | 717 | struct sctp_strreset_outreq { |
| 718 | struct sctp_paramhdr param_hdr; | 718 | struct sctp_paramhdr param_hdr; |
| 719 | __u32 request_seq; | 719 | __be32 request_seq; |
| 720 | __u32 response_seq; | 720 | __be32 response_seq; |
| 721 | __u32 send_reset_at_tsn; | 721 | __be32 send_reset_at_tsn; |
| 722 | __u16 list_of_streams[0]; | 722 | __be16 list_of_streams[0]; |
| 723 | }; | 723 | }; |
| 724 | 724 | ||
| 725 | struct sctp_strreset_inreq { | 725 | struct sctp_strreset_inreq { |
| 726 | struct sctp_paramhdr param_hdr; | 726 | struct sctp_paramhdr param_hdr; |
| 727 | __u32 request_seq; | 727 | __be32 request_seq; |
| 728 | __u16 list_of_streams[0]; | 728 | __be16 list_of_streams[0]; |
| 729 | }; | 729 | }; |
| 730 | 730 | ||
| 731 | struct sctp_strreset_tsnreq { | 731 | struct sctp_strreset_tsnreq { |
| 732 | struct sctp_paramhdr param_hdr; | 732 | struct sctp_paramhdr param_hdr; |
| 733 | __u32 request_seq; | 733 | __be32 request_seq; |
| 734 | }; | 734 | }; |
| 735 | 735 | ||
| 736 | struct sctp_strreset_addstrm { | 736 | struct sctp_strreset_addstrm { |
| 737 | struct sctp_paramhdr param_hdr; | 737 | struct sctp_paramhdr param_hdr; |
| 738 | __u32 request_seq; | 738 | __be32 request_seq; |
| 739 | __u16 number_of_streams; | 739 | __be16 number_of_streams; |
| 740 | __u16 reserved; | 740 | __be16 reserved; |
| 741 | }; | 741 | }; |
| 742 | 742 | ||
| 743 | enum { | 743 | enum { |
| @@ -752,16 +752,16 @@ enum { | |||
| 752 | 752 | ||
| 753 | struct sctp_strreset_resp { | 753 | struct sctp_strreset_resp { |
| 754 | struct sctp_paramhdr param_hdr; | 754 | struct sctp_paramhdr param_hdr; |
| 755 | __u32 response_seq; | 755 | __be32 response_seq; |
| 756 | __u32 result; | 756 | __be32 result; |
| 757 | }; | 757 | }; |
| 758 | 758 | ||
| 759 | struct sctp_strreset_resptsn { | 759 | struct sctp_strreset_resptsn { |
| 760 | struct sctp_paramhdr param_hdr; | 760 | struct sctp_paramhdr param_hdr; |
| 761 | __u32 response_seq; | 761 | __be32 response_seq; |
| 762 | __u32 result; | 762 | __be32 result; |
| 763 | __u32 senders_next_tsn; | 763 | __be32 senders_next_tsn; |
| 764 | __u32 receivers_next_tsn; | 764 | __be32 receivers_next_tsn; |
| 765 | }; | 765 | }; |
| 766 | 766 | ||
| 767 | #endif /* __LINUX_SCTP_H__ */ | 767 | #endif /* __LINUX_SCTP_H__ */ |
diff --git a/include/linux/swait.h b/include/linux/swait.h index 73e97a08d3d0..cf30f5022472 100644 --- a/include/linux/swait.h +++ b/include/linux/swait.h | |||
| @@ -9,13 +9,16 @@ | |||
| 9 | /* | 9 | /* |
| 10 | * Simple wait queues | 10 | * Simple wait queues |
| 11 | * | 11 | * |
| 12 | * While these are very similar to the other/complex wait queues (wait.h) the | 12 | * While these are very similar to regular wait queues (wait.h) the most |
| 13 | * most important difference is that the simple waitqueue allows for | 13 | * important difference is that the simple waitqueue allows for deterministic |
| 14 | * deterministic behaviour -- IOW it has strictly bounded IRQ and lock hold | 14 | * behaviour -- IOW it has strictly bounded IRQ and lock hold times. |
| 15 | * times. | ||
| 16 | * | 15 | * |
| 17 | * In order to make this so, we had to drop a fair number of features of the | 16 | * Mainly, this is accomplished by two things. Firstly not allowing swake_up_all |
| 18 | * other waitqueue code; notably: | 17 | * from IRQ disabled, and dropping the lock upon every wakeup, giving a higher |
| 18 | * priority task a chance to run. | ||
| 19 | * | ||
| 20 | * Secondly, we had to drop a fair number of features of the other waitqueue | ||
| 21 | * code; notably: | ||
| 19 | * | 22 | * |
| 20 | * - mixing INTERRUPTIBLE and UNINTERRUPTIBLE sleeps on the same waitqueue; | 23 | * - mixing INTERRUPTIBLE and UNINTERRUPTIBLE sleeps on the same waitqueue; |
| 21 | * all wakeups are TASK_NORMAL in order to avoid O(n) lookups for the right | 24 | * all wakeups are TASK_NORMAL in order to avoid O(n) lookups for the right |
| @@ -24,12 +27,14 @@ | |||
| 24 | * - the exclusive mode; because this requires preserving the list order | 27 | * - the exclusive mode; because this requires preserving the list order |
| 25 | * and this is hard. | 28 | * and this is hard. |
| 26 | * | 29 | * |
| 27 | * - custom wake functions; because you cannot give any guarantees about | 30 | * - custom wake callback functions; because you cannot give any guarantees |
| 28 | * random code. | 31 | * about random code. This also allows swait to be used in RT, such that |
| 29 | * | 32 | * raw spinlock can be used for the swait queue head. |
| 30 | * As a side effect of this; the data structures are slimmer. | ||
| 31 | * | 33 | * |
| 32 | * One would recommend using this wait queue where possible. | 34 | * As a side effect of these; the data structures are slimmer albeit more ad-hoc. |
| 35 | * For all the above, note that simple wait queues should _only_ be used under | ||
| 36 | * very specific realtime constraints -- it is best to stick with the regular | ||
| 37 | * wait queues in most cases. | ||
| 33 | */ | 38 | */ |
| 34 | 39 | ||
| 35 | struct task_struct; | 40 | struct task_struct; |
