Merge branch 'perf/urgent' into perf/core, to resolve conflict and to prepare for new patches
Conflicts: arch/x86/kernel/traps.c Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
@@ -12,7 +12,7 @@
|
||||
[RLIMIT_CPU] = { RLIM_INFINITY, RLIM_INFINITY }, \
|
||||
[RLIMIT_FSIZE] = { RLIM_INFINITY, RLIM_INFINITY }, \
|
||||
[RLIMIT_DATA] = { RLIM_INFINITY, RLIM_INFINITY }, \
|
||||
[RLIMIT_STACK] = { _STK_LIM, _STK_LIM_MAX }, \
|
||||
[RLIMIT_STACK] = { _STK_LIM, RLIM_INFINITY }, \
|
||||
[RLIMIT_CORE] = { 0, RLIM_INFINITY }, \
|
||||
[RLIMIT_RSS] = { RLIM_INFINITY, RLIM_INFINITY }, \
|
||||
[RLIMIT_NPROC] = { 0, 0 }, \
|
||||
|
||||
@@ -637,6 +637,22 @@
|
||||
{0x1002, 0x983d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
|
||||
{0x1002, 0x983e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
|
||||
{0x1002, 0x983f, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
|
||||
{0x1002, 0x9850, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
|
||||
{0x1002, 0x9851, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
|
||||
{0x1002, 0x9852, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
|
||||
{0x1002, 0x9853, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
|
||||
{0x1002, 0x9854, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
|
||||
{0x1002, 0x9855, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
|
||||
{0x1002, 0x9856, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
|
||||
{0x1002, 0x9857, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
|
||||
{0x1002, 0x9858, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
|
||||
{0x1002, 0x9859, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
|
||||
{0x1002, 0x985A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
|
||||
{0x1002, 0x985B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
|
||||
{0x1002, 0x985C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
|
||||
{0x1002, 0x985D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
|
||||
{0x1002, 0x985E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
|
||||
{0x1002, 0x985F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
|
||||
{0x1002, 0x9900, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
|
||||
{0x1002, 0x9901, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
|
||||
{0x1002, 0x9903, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
|
||||
|
||||
@@ -191,8 +191,8 @@
|
||||
INTEL_VGA_DEVICE(0x0A06, info), /* ULT GT1 mobile */ \
|
||||
INTEL_VGA_DEVICE(0x0A16, info), /* ULT GT2 mobile */ \
|
||||
INTEL_VGA_DEVICE(0x0A26, info), /* ULT GT3 mobile */ \
|
||||
INTEL_VGA_DEVICE(0x0A0E, info), /* ULT GT1 reserved */ \
|
||||
INTEL_VGA_DEVICE(0x0A1E, info), /* ULT GT2 reserved */ \
|
||||
INTEL_VGA_DEVICE(0x0A0E, info), /* ULX GT1 mobile */ \
|
||||
INTEL_VGA_DEVICE(0x0A1E, info), /* ULX GT2 mobile */ \
|
||||
INTEL_VGA_DEVICE(0x0A2E, info), /* ULT GT3 reserved */ \
|
||||
INTEL_VGA_DEVICE(0x0D06, info), /* CRW GT1 mobile */ \
|
||||
INTEL_VGA_DEVICE(0x0D16, info), /* CRW GT2 mobile */ \
|
||||
|
||||
@@ -47,6 +47,7 @@ struct amba_driver {
|
||||
enum amba_vendor {
|
||||
AMBA_VENDOR_ARM = 0x41,
|
||||
AMBA_VENDOR_ST = 0x80,
|
||||
AMBA_VENDOR_QCOM = 0x51,
|
||||
};
|
||||
|
||||
extern struct bus_type amba_bustype;
|
||||
|
||||
@@ -473,6 +473,7 @@ struct cftype {
|
||||
};
|
||||
|
||||
extern struct cgroup_root cgrp_dfl_root;
|
||||
extern struct css_set init_css_set;
|
||||
|
||||
static inline bool cgroup_on_dfl(const struct cgroup *cgrp)
|
||||
{
|
||||
@@ -700,6 +701,20 @@ static inline struct cgroup_subsys_state *task_css(struct task_struct *task,
|
||||
return task_css_check(task, subsys_id, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* task_css_is_root - test whether a task belongs to the root css
|
||||
* @task: the target task
|
||||
* @subsys_id: the target subsystem ID
|
||||
*
|
||||
* Test whether @task belongs to the root css on the specified subsystem.
|
||||
* May be invoked in any context.
|
||||
*/
|
||||
static inline bool task_css_is_root(struct task_struct *task, int subsys_id)
|
||||
{
|
||||
return task_css_check(task, subsys_id, true) ==
|
||||
init_css_set.subsys[subsys_id];
|
||||
}
|
||||
|
||||
static inline struct cgroup *task_cgroup(struct task_struct *task,
|
||||
int subsys_id)
|
||||
{
|
||||
|
||||
@@ -429,6 +429,7 @@ typedef bool (*dma_filter_fn)(struct dma_chan *chan, void *filter_param);
|
||||
typedef void (*dma_async_tx_callback)(void *dma_async_param);
|
||||
|
||||
struct dmaengine_unmap_data {
|
||||
u8 map_cnt;
|
||||
u8 to_cnt;
|
||||
u8 from_cnt;
|
||||
u8 bidi_cnt;
|
||||
|
||||
@@ -56,6 +56,7 @@ struct macvlan_dev {
|
||||
int numqueues;
|
||||
netdev_features_t tap_features;
|
||||
int minor;
|
||||
int nest_level;
|
||||
};
|
||||
|
||||
static inline void macvlan_count_rx(const struct macvlan_dev *vlan,
|
||||
|
||||
+14
-1
@@ -73,7 +73,7 @@ static inline struct vlan_ethhdr *vlan_eth_hdr(const struct sk_buff *skb)
|
||||
/* found in socket.c */
|
||||
extern void vlan_ioctl_set(int (*hook)(struct net *, void __user *));
|
||||
|
||||
static inline int is_vlan_dev(struct net_device *dev)
|
||||
static inline bool is_vlan_dev(struct net_device *dev)
|
||||
{
|
||||
return dev->priv_flags & IFF_802_1Q_VLAN;
|
||||
}
|
||||
@@ -159,6 +159,7 @@ struct vlan_dev_priv {
|
||||
#ifdef CONFIG_NET_POLL_CONTROLLER
|
||||
struct netpoll *netpoll;
|
||||
#endif
|
||||
unsigned int nest_level;
|
||||
};
|
||||
|
||||
static inline struct vlan_dev_priv *vlan_dev_priv(const struct net_device *dev)
|
||||
@@ -197,6 +198,12 @@ extern void vlan_vids_del_by_dev(struct net_device *dev,
|
||||
const struct net_device *by_dev);
|
||||
|
||||
extern bool vlan_uses_dev(const struct net_device *dev);
|
||||
|
||||
static inline int vlan_get_encap_level(struct net_device *dev)
|
||||
{
|
||||
BUG_ON(!is_vlan_dev(dev));
|
||||
return vlan_dev_priv(dev)->nest_level;
|
||||
}
|
||||
#else
|
||||
static inline struct net_device *
|
||||
__vlan_find_dev_deep(struct net_device *real_dev,
|
||||
@@ -263,6 +270,11 @@ static inline bool vlan_uses_dev(const struct net_device *dev)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
static inline int vlan_get_encap_level(struct net_device *dev)
|
||||
{
|
||||
BUG();
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
static inline bool vlan_hw_offload_capable(netdev_features_t features,
|
||||
@@ -483,4 +495,5 @@ static inline void vlan_set_encap_proto(struct sk_buff *skb,
|
||||
*/
|
||||
skb->protocol = htons(ETH_P_802_2);
|
||||
}
|
||||
|
||||
#endif /* !(_LINUX_IF_VLAN_H_) */
|
||||
|
||||
@@ -272,6 +272,11 @@ static inline int irq_set_affinity(unsigned int irq, const struct cpumask *m)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
static inline int irq_force_affinity(unsigned int irq, const struct cpumask *cpumask)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int irq_can_set_affinity(unsigned int irq)
|
||||
{
|
||||
return 0;
|
||||
|
||||
+18
-1
@@ -50,7 +50,24 @@ enum kernfs_node_flag {
|
||||
|
||||
/* @flags for kernfs_create_root() */
|
||||
enum kernfs_root_flag {
|
||||
KERNFS_ROOT_CREATE_DEACTIVATED = 0x0001,
|
||||
/*
|
||||
* kernfs_nodes are created in the deactivated state and invisible.
|
||||
* They require explicit kernfs_activate() to become visible. This
|
||||
* can be used to make related nodes become visible atomically
|
||||
* after all nodes are created successfully.
|
||||
*/
|
||||
KERNFS_ROOT_CREATE_DEACTIVATED = 0x0001,
|
||||
|
||||
/*
|
||||
* For regular flies, if the opener has CAP_DAC_OVERRIDE, open(2)
|
||||
* succeeds regardless of the RW permissions. sysfs had an extra
|
||||
* layer of enforcement where open(2) fails with -EACCES regardless
|
||||
* of CAP_DAC_OVERRIDE if the permission doesn't have the
|
||||
* respective read or write access at all (none of S_IRUGO or
|
||||
* S_IWUGO) or the respective operation isn't implemented. The
|
||||
* following flag enables that behavior.
|
||||
*/
|
||||
KERNFS_ROOT_EXTRA_OPEN_PERM_CHECK = 0x0002,
|
||||
};
|
||||
|
||||
/* type-specific structures for kernfs_node union members */
|
||||
|
||||
@@ -12,9 +12,9 @@
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define CPP_ASMLINKAGE extern "C" __visible
|
||||
#define CPP_ASMLINKAGE extern "C"
|
||||
#else
|
||||
#define CPP_ASMLINKAGE __visible
|
||||
#define CPP_ASMLINKAGE
|
||||
#endif
|
||||
|
||||
#ifndef asmlinkage
|
||||
|
||||
@@ -45,7 +45,6 @@ struct platform_device;
|
||||
struct rtsx_slot {
|
||||
struct platform_device *p_dev;
|
||||
void (*card_event)(struct platform_device *p_dev);
|
||||
void (*done_transfer)(struct platform_device *p_dev);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -943,12 +943,6 @@ void rtsx_pci_send_cmd_no_wait(struct rtsx_pcr *pcr);
|
||||
int rtsx_pci_send_cmd(struct rtsx_pcr *pcr, int timeout);
|
||||
int rtsx_pci_transfer_data(struct rtsx_pcr *pcr, struct scatterlist *sglist,
|
||||
int num_sg, bool read, int timeout);
|
||||
int rtsx_pci_dma_map_sg(struct rtsx_pcr *pcr, struct scatterlist *sglist,
|
||||
int num_sg, bool read);
|
||||
int rtsx_pci_dma_unmap_sg(struct rtsx_pcr *pcr, struct scatterlist *sglist,
|
||||
int num_sg, bool read);
|
||||
int rtsx_pci_dma_transfer(struct rtsx_pcr *pcr, struct scatterlist *sglist,
|
||||
int sg_count, bool read);
|
||||
int rtsx_pci_read_ppbuf(struct rtsx_pcr *pcr, u8 *buf, int buf_len);
|
||||
int rtsx_pci_write_ppbuf(struct rtsx_pcr *pcr, u8 *buf, int buf_len);
|
||||
int rtsx_pci_card_pull_ctl_enable(struct rtsx_pcr *pcr, int card);
|
||||
|
||||
@@ -421,6 +421,17 @@ struct mlx4_wqe_inline_seg {
|
||||
__be32 byte_count;
|
||||
};
|
||||
|
||||
enum mlx4_update_qp_attr {
|
||||
MLX4_UPDATE_QP_SMAC = 1 << 0,
|
||||
};
|
||||
|
||||
struct mlx4_update_qp_params {
|
||||
u8 smac_index;
|
||||
};
|
||||
|
||||
int mlx4_update_qp(struct mlx4_dev *dev, struct mlx4_qp *qp,
|
||||
enum mlx4_update_qp_attr attr,
|
||||
struct mlx4_update_qp_params *params);
|
||||
int mlx4_qp_modify(struct mlx4_dev *dev, struct mlx4_mtt *mtt,
|
||||
enum mlx4_qp_state cur_state, enum mlx4_qp_state new_state,
|
||||
struct mlx4_qp_context *context, enum mlx4_qp_optpar optpar,
|
||||
|
||||
+4
-11
@@ -248,24 +248,17 @@ do { \
|
||||
bool __net_get_random_once(void *buf, int nbytes, bool *done,
|
||||
struct static_key *done_key);
|
||||
|
||||
#ifdef HAVE_JUMP_LABEL
|
||||
#define ___NET_RANDOM_STATIC_KEY_INIT ((struct static_key) \
|
||||
{ .enabled = ATOMIC_INIT(0), .entries = (void *)1 })
|
||||
#else /* !HAVE_JUMP_LABEL */
|
||||
#define ___NET_RANDOM_STATIC_KEY_INIT STATIC_KEY_INIT_FALSE
|
||||
#endif /* HAVE_JUMP_LABEL */
|
||||
|
||||
#define net_get_random_once(buf, nbytes) \
|
||||
({ \
|
||||
bool ___ret = false; \
|
||||
static bool ___done = false; \
|
||||
static struct static_key ___done_key = \
|
||||
___NET_RANDOM_STATIC_KEY_INIT; \
|
||||
if (!static_key_true(&___done_key)) \
|
||||
static struct static_key ___once_key = \
|
||||
STATIC_KEY_INIT_TRUE; \
|
||||
if (static_key_true(&___once_key)) \
|
||||
___ret = __net_get_random_once(buf, \
|
||||
nbytes, \
|
||||
&___done, \
|
||||
&___done_key); \
|
||||
&___once_key); \
|
||||
___ret; \
|
||||
})
|
||||
|
||||
|
||||
@@ -1144,6 +1144,7 @@ struct net_device_ops {
|
||||
netdev_tx_t (*ndo_dfwd_start_xmit) (struct sk_buff *skb,
|
||||
struct net_device *dev,
|
||||
void *priv);
|
||||
int (*ndo_get_lock_subclass)(struct net_device *dev);
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -2950,7 +2951,12 @@ static inline void netif_addr_lock(struct net_device *dev)
|
||||
|
||||
static inline void netif_addr_lock_nested(struct net_device *dev)
|
||||
{
|
||||
spin_lock_nested(&dev->addr_list_lock, SINGLE_DEPTH_NESTING);
|
||||
int subclass = SINGLE_DEPTH_NESTING;
|
||||
|
||||
if (dev->netdev_ops->ndo_get_lock_subclass)
|
||||
subclass = dev->netdev_ops->ndo_get_lock_subclass(dev);
|
||||
|
||||
spin_lock_nested(&dev->addr_list_lock, subclass);
|
||||
}
|
||||
|
||||
static inline void netif_addr_lock_bh(struct net_device *dev)
|
||||
@@ -3050,9 +3056,18 @@ extern int weight_p;
|
||||
extern int bpf_jit_enable;
|
||||
|
||||
bool netdev_has_upper_dev(struct net_device *dev, struct net_device *upper_dev);
|
||||
struct net_device *netdev_upper_get_next_dev_rcu(struct net_device *dev,
|
||||
struct list_head **iter);
|
||||
struct net_device *netdev_all_upper_get_next_dev_rcu(struct net_device *dev,
|
||||
struct list_head **iter);
|
||||
|
||||
/* iterate through upper list, must be called under RCU read lock */
|
||||
#define netdev_for_each_upper_dev_rcu(dev, updev, iter) \
|
||||
for (iter = &(dev)->adj_list.upper, \
|
||||
updev = netdev_upper_get_next_dev_rcu(dev, &(iter)); \
|
||||
updev; \
|
||||
updev = netdev_upper_get_next_dev_rcu(dev, &(iter)))
|
||||
|
||||
/* iterate through upper list, must be called under RCU read lock */
|
||||
#define netdev_for_each_all_upper_dev_rcu(dev, updev, iter) \
|
||||
for (iter = &(dev)->all_adj_list.upper, \
|
||||
@@ -3077,6 +3092,14 @@ void *netdev_lower_get_next_private_rcu(struct net_device *dev,
|
||||
priv; \
|
||||
priv = netdev_lower_get_next_private_rcu(dev, &(iter)))
|
||||
|
||||
void *netdev_lower_get_next(struct net_device *dev,
|
||||
struct list_head **iter);
|
||||
#define netdev_for_each_lower_dev(dev, ldev, iter) \
|
||||
for (iter = &(dev)->adj_list.lower, \
|
||||
ldev = netdev_lower_get_next(dev, &(iter)); \
|
||||
ldev; \
|
||||
ldev = netdev_lower_get_next(dev, &(iter)))
|
||||
|
||||
void *netdev_adjacent_get_private(struct list_head *adj_list);
|
||||
void *netdev_lower_get_first_private_rcu(struct net_device *dev);
|
||||
struct net_device *netdev_master_upper_dev_get(struct net_device *dev);
|
||||
@@ -3092,6 +3115,8 @@ void netdev_upper_dev_unlink(struct net_device *dev,
|
||||
void netdev_adjacent_rename_links(struct net_device *dev, char *oldname);
|
||||
void *netdev_lower_dev_get_private(struct net_device *dev,
|
||||
struct net_device *lower_dev);
|
||||
int dev_get_nest_level(struct net_device *dev,
|
||||
bool (*type_check)(struct net_device *dev));
|
||||
int skb_checksum_help(struct sk_buff *skb);
|
||||
struct sk_buff *__skb_gso_segment(struct sk_buff *skb,
|
||||
netdev_features_t features, bool tx_path);
|
||||
@@ -3180,12 +3205,7 @@ void netdev_change_features(struct net_device *dev);
|
||||
void netif_stacked_transfer_operstate(const struct net_device *rootdev,
|
||||
struct net_device *dev);
|
||||
|
||||
netdev_features_t netif_skb_dev_features(struct sk_buff *skb,
|
||||
const struct net_device *dev);
|
||||
static inline netdev_features_t netif_skb_features(struct sk_buff *skb)
|
||||
{
|
||||
return netif_skb_dev_features(skb, skb->dev);
|
||||
}
|
||||
netdev_features_t netif_skb_features(struct sk_buff *skb);
|
||||
|
||||
static inline bool net_gso_ok(netdev_features_t features, int gso_type)
|
||||
{
|
||||
|
||||
+1
-1
@@ -349,7 +349,7 @@ int of_device_is_stdout_path(struct device_node *dn);
|
||||
|
||||
#else /* CONFIG_OF */
|
||||
|
||||
static inline const char* of_node_full_name(struct device_node *np)
|
||||
static inline const char* of_node_full_name(const struct device_node *np)
|
||||
{
|
||||
return "<no-node>";
|
||||
}
|
||||
|
||||
@@ -31,7 +31,12 @@ extern struct mii_bus *of_mdio_find_bus(struct device_node *mdio_np);
|
||||
#else /* CONFIG_OF */
|
||||
static inline int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np)
|
||||
{
|
||||
return -ENOSYS;
|
||||
/*
|
||||
* Fall back to the non-DT function to register a bus.
|
||||
* This way, we don't have to keep compat bits around in drivers.
|
||||
*/
|
||||
|
||||
return mdiobus_register(mdio);
|
||||
}
|
||||
|
||||
static inline struct phy_device *of_phy_find_device(struct device_node *phy_np)
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
struct dma_chan;
|
||||
|
||||
#if defined(CONFIG_DMA_OMAP) || defined(CONFIG_DMA_OMAP_MODULE)
|
||||
#if defined(CONFIG_DMA_OMAP) || (defined(CONFIG_DMA_OMAP_MODULE) && defined(MODULE))
|
||||
bool omap_dma_filter_fn(struct dma_chan *, void *);
|
||||
#else
|
||||
static inline bool omap_dma_filter_fn(struct dma_chan *c, void *d)
|
||||
|
||||
@@ -413,6 +413,8 @@ struct perf_event {
|
||||
|
||||
struct ring_buffer *rb;
|
||||
struct list_head rb_entry;
|
||||
unsigned long rcu_batches;
|
||||
int rcu_pending;
|
||||
|
||||
/* poll related */
|
||||
wait_queue_head_t waitq;
|
||||
@@ -704,6 +706,7 @@ extern struct perf_guest_info_callbacks *perf_guest_cbs;
|
||||
extern int perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *callbacks);
|
||||
extern int perf_unregister_guest_info_callbacks(struct perf_guest_info_callbacks *callbacks);
|
||||
|
||||
extern void perf_event_exec(void);
|
||||
extern void perf_event_comm(struct task_struct *tsk);
|
||||
extern void perf_event_fork(struct task_struct *tsk);
|
||||
|
||||
@@ -781,7 +784,7 @@ extern void perf_event_enable(struct perf_event *event);
|
||||
extern void perf_event_disable(struct perf_event *event);
|
||||
extern int __perf_event_disable(void *info);
|
||||
extern void perf_event_task_tick(void);
|
||||
#else
|
||||
#else /* !CONFIG_PERF_EVENTS: */
|
||||
static inline void
|
||||
perf_event_task_sched_in(struct task_struct *prev,
|
||||
struct task_struct *task) { }
|
||||
@@ -811,6 +814,7 @@ static inline int perf_unregister_guest_info_callbacks
|
||||
(struct perf_guest_info_callbacks *callbacks) { return 0; }
|
||||
|
||||
static inline void perf_event_mmap(struct vm_area_struct *vma) { }
|
||||
static inline void perf_event_exec(void) { }
|
||||
static inline void perf_event_comm(struct task_struct *tsk) { }
|
||||
static inline void perf_event_fork(struct task_struct *tsk) { }
|
||||
static inline void perf_event_init(void) { }
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/netdevice.h>
|
||||
#include <linux/wait.h>
|
||||
#include <uapi/linux/rtnetlink.h>
|
||||
|
||||
extern int rtnetlink_send(struct sk_buff *skb, struct net *net, u32 pid, u32 group, int echo);
|
||||
@@ -22,6 +23,10 @@ extern void rtnl_lock(void);
|
||||
extern void rtnl_unlock(void);
|
||||
extern int rtnl_trylock(void);
|
||||
extern int rtnl_is_locked(void);
|
||||
|
||||
extern wait_queue_head_t netdev_unregistering_wq;
|
||||
extern struct mutex net_mutex;
|
||||
|
||||
#ifdef CONFIG_PROVE_LOCKING
|
||||
extern int lockdep_rtnl_is_held(void);
|
||||
#else
|
||||
|
||||
@@ -220,7 +220,7 @@ print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq);
|
||||
#define TASK_PARKED 512
|
||||
#define TASK_STATE_MAX 1024
|
||||
|
||||
#define TASK_STATE_TO_CHAR_STR "RSDTtZXxKWP"
|
||||
#define TASK_STATE_TO_CHAR_STR "RSDTtXZxKWP"
|
||||
|
||||
extern char ___assert_task_state[1 - 2*!!(
|
||||
sizeof(TASK_STATE_TO_CHAR_STR)-1 != ilog2(TASK_STATE_MAX)+1)];
|
||||
@@ -1153,9 +1153,12 @@ struct sched_dl_entity {
|
||||
*
|
||||
* @dl_boosted tells if we are boosted due to DI. If so we are
|
||||
* outside bandwidth enforcement mechanism (but only until we
|
||||
* exit the critical section).
|
||||
* exit the critical section);
|
||||
*
|
||||
* @dl_yielded tells if task gave up the cpu before consuming
|
||||
* all its available runtime during the last job.
|
||||
*/
|
||||
int dl_throttled, dl_new, dl_boosted;
|
||||
int dl_throttled, dl_new, dl_boosted, dl_yielded;
|
||||
|
||||
/*
|
||||
* Bandwidth enforcement timer. Each -deadline task has its
|
||||
|
||||
@@ -3668,6 +3668,18 @@ void cfg80211_sched_scan_results(struct wiphy *wiphy);
|
||||
*/
|
||||
void cfg80211_sched_scan_stopped(struct wiphy *wiphy);
|
||||
|
||||
/**
|
||||
* cfg80211_sched_scan_stopped_rtnl - notify that the scheduled scan has stopped
|
||||
*
|
||||
* @wiphy: the wiphy on which the scheduled scan stopped
|
||||
*
|
||||
* The driver can call this function to inform cfg80211 that the
|
||||
* scheduled scan had to be stopped, for whatever reason. The driver
|
||||
* is then called back via the sched_scan_stop operation when done.
|
||||
* This function should be called with rtnl locked.
|
||||
*/
|
||||
void cfg80211_sched_scan_stopped_rtnl(struct wiphy *wiphy);
|
||||
|
||||
/**
|
||||
* cfg80211_inform_bss_width_frame - inform cfg80211 of a received BSS frame
|
||||
*
|
||||
|
||||
@@ -127,6 +127,7 @@ int rt6_dump_route(struct rt6_info *rt, void *p_arg);
|
||||
void rt6_ifdown(struct net *net, struct net_device *dev);
|
||||
void rt6_mtu_change(struct net_device *dev, unsigned int mtu);
|
||||
void rt6_remove_prefsrc(struct inet6_ifaddr *ifp);
|
||||
void rt6_clean_tohost(struct net *net, struct in6_addr *gateway);
|
||||
|
||||
|
||||
/*
|
||||
|
||||
@@ -20,6 +20,11 @@ struct local_ports {
|
||||
int range[2];
|
||||
};
|
||||
|
||||
struct ping_group_range {
|
||||
seqlock_t lock;
|
||||
kgid_t range[2];
|
||||
};
|
||||
|
||||
struct netns_ipv4 {
|
||||
#ifdef CONFIG_SYSCTL
|
||||
struct ctl_table_header *forw_hdr;
|
||||
@@ -66,13 +71,13 @@ struct netns_ipv4 {
|
||||
int sysctl_icmp_ratemask;
|
||||
int sysctl_icmp_errors_use_inbound_ifaddr;
|
||||
|
||||
struct local_ports sysctl_local_ports;
|
||||
struct local_ports ip_local_ports;
|
||||
|
||||
int sysctl_tcp_ecn;
|
||||
int sysctl_ip_no_pmtu_disc;
|
||||
int sysctl_ip_fwd_use_pmtu;
|
||||
|
||||
kgid_t sysctl_ping_group_range[2];
|
||||
struct ping_group_range ping_group_range;
|
||||
|
||||
atomic_t dev_addr_genid;
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@ DECLARE_EVENT_CLASS(module_refcnt,
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->ip = ip;
|
||||
__entry->refcnt = __this_cpu_read(mod->refptr->incs) + __this_cpu_read(mod->refptr->decs);
|
||||
__entry->refcnt = __this_cpu_read(mod->refptr->incs) - __this_cpu_read(mod->refptr->decs);
|
||||
__assign_str(name, mod->name);
|
||||
),
|
||||
|
||||
|
||||
@@ -57,12 +57,5 @@
|
||||
# define RLIM_INFINITY (~0UL)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* RLIMIT_STACK default maximum - some architectures override it:
|
||||
*/
|
||||
#ifndef _STK_LIM_MAX
|
||||
# define _STK_LIM_MAX RLIM_INFINITY
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* _UAPI_ASM_GENERIC_RESOURCE_H */
|
||||
|
||||
@@ -697,9 +697,11 @@ __SYSCALL(__NR_finit_module, sys_finit_module)
|
||||
__SYSCALL(__NR_sched_setattr, sys_sched_setattr)
|
||||
#define __NR_sched_getattr 275
|
||||
__SYSCALL(__NR_sched_getattr, sys_sched_getattr)
|
||||
#define __NR_renameat2 276
|
||||
__SYSCALL(__NR_renameat2, sys_renameat2)
|
||||
|
||||
#undef __NR_syscalls
|
||||
#define __NR_syscalls 276
|
||||
#define __NR_syscalls 277
|
||||
|
||||
/*
|
||||
* All syscalls below here should go away really,
|
||||
|
||||
@@ -331,9 +331,17 @@ enum {
|
||||
#define AUDIT_FAIL_PRINTK 1
|
||||
#define AUDIT_FAIL_PANIC 2
|
||||
|
||||
/*
|
||||
* These bits disambiguate different calling conventions that share an
|
||||
* ELF machine type, bitness, and endianness
|
||||
*/
|
||||
#define __AUDIT_ARCH_CONVENTION_MASK 0x30000000
|
||||
#define __AUDIT_ARCH_CONVENTION_MIPS64_N32 0x20000000
|
||||
|
||||
/* distinguish syscall tables */
|
||||
#define __AUDIT_ARCH_64BIT 0x80000000
|
||||
#define __AUDIT_ARCH_LE 0x40000000
|
||||
|
||||
#define AUDIT_ARCH_ALPHA (EM_ALPHA|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
|
||||
#define AUDIT_ARCH_ARM (EM_ARM|__AUDIT_ARCH_LE)
|
||||
#define AUDIT_ARCH_ARMEB (EM_ARM)
|
||||
@@ -346,7 +354,11 @@ enum {
|
||||
#define AUDIT_ARCH_MIPS (EM_MIPS)
|
||||
#define AUDIT_ARCH_MIPSEL (EM_MIPS|__AUDIT_ARCH_LE)
|
||||
#define AUDIT_ARCH_MIPS64 (EM_MIPS|__AUDIT_ARCH_64BIT)
|
||||
#define AUDIT_ARCH_MIPS64N32 (EM_MIPS|__AUDIT_ARCH_64BIT|\
|
||||
__AUDIT_ARCH_CONVENTION_MIPS64_N32)
|
||||
#define AUDIT_ARCH_MIPSEL64 (EM_MIPS|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
|
||||
#define AUDIT_ARCH_MIPSEL64N32 (EM_MIPS|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE|\
|
||||
__AUDIT_ARCH_CONVENTION_MIPS64_N32)
|
||||
#define AUDIT_ARCH_OPENRISC (EM_OPENRISC)
|
||||
#define AUDIT_ARCH_PARISC (EM_PARISC)
|
||||
#define AUDIT_ARCH_PARISC64 (EM_PARISC|__AUDIT_ARCH_64BIT)
|
||||
|
||||
@@ -3856,6 +3856,8 @@ enum nl80211_ap_sme_features {
|
||||
* @NL80211_FEATURE_CELL_BASE_REG_HINTS: This driver has been tested
|
||||
* to work properly to suppport receiving regulatory hints from
|
||||
* cellular base stations.
|
||||
* @NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL: (no longer available, only
|
||||
* here to reserve the value for API/ABI compatibility)
|
||||
* @NL80211_FEATURE_SAE: This driver supports simultaneous authentication of
|
||||
* equals (SAE) with user space SME (NL80211_CMD_AUTHENTICATE) in station
|
||||
* mode
|
||||
@@ -3897,7 +3899,7 @@ enum nl80211_feature_flags {
|
||||
NL80211_FEATURE_HT_IBSS = 1 << 1,
|
||||
NL80211_FEATURE_INACTIVITY_TIMER = 1 << 2,
|
||||
NL80211_FEATURE_CELL_BASE_REG_HINTS = 1 << 3,
|
||||
/* bit 4 is reserved - don't use */
|
||||
NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL = 1 << 4,
|
||||
NL80211_FEATURE_SAE = 1 << 5,
|
||||
NL80211_FEATURE_LOW_PRIORITY_SCAN = 1 << 6,
|
||||
NL80211_FEATURE_SCAN_FLUSH = 1 << 7,
|
||||
|
||||
Reference in New Issue
Block a user