public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Sagi Grimberg <sagi@grimberg.me>,
	Thomas Gleixner <tglx@linutronix.de>,
	Jes Sorensen <jsorensen@fb.com>,
	Saeed Mahameed <saeedm@mellanox.com>
Subject: [PATCH 4.14 113/146] Revert "mlx5: move affinity hints assignments to generic code"
Date: Mon,  1 Jan 2018 15:38:24 +0100	[thread overview]
Message-ID: <20180101140140.310714795@linuxfoundation.org> (raw)
In-Reply-To: <20180101140123.743014891@linuxfoundation.org>

4.14-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Saeed Mahameed <saeedm@mellanox.com>


[ Upstream commit 231243c82793428467524227ae02ca451e6a98e7 ]

Before the offending commit, mlx5 core did the IRQ affinity itself,
and it seems that the new generic code have some drawbacks and one
of them is the lack for user ability to modify irq affinity after
the initial affinity values got assigned.

The issue is still being discussed and a solution in the new generic code
is required, until then we need to revert this patch.

This fixes the following issue:
echo <new affinity> > /proc/irq/<x>/smp_affinity
fails with  -EIO

This reverts commit a435393acafbf0ecff4deb3e3cb554b34f0d0664.
Note: kept mlx5_get_vector_affinity in include/linux/mlx5/driver.h since
it is used in mlx5_ib driver.

Fixes: a435393acafb ("mlx5: move affinity hints assignments to generic code")
Cc: Sagi Grimberg <sagi@grimberg.me>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Jes Sorensen <jsorensen@fb.com>
Reported-by: Jes Sorensen <jsorensen@fb.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/net/ethernet/mellanox/mlx5/core/en.h      |    1 
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c |   45 ++++++-------
 drivers/net/ethernet/mellanox/mlx5/core/main.c    |   75 ++++++++++++++++++++--
 include/linux/mlx5/driver.h                       |    1 
 4 files changed, 93 insertions(+), 29 deletions(-)

--- a/drivers/net/ethernet/mellanox/mlx5/core/en.h
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en.h
@@ -590,6 +590,7 @@ struct mlx5e_channel {
 	struct mlx5_core_dev      *mdev;
 	struct mlx5e_tstamp       *tstamp;
 	int                        ix;
+	int                        cpu;
 };
 
 struct mlx5e_channels {
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
@@ -71,11 +71,6 @@ struct mlx5e_channel_param {
 	struct mlx5e_cq_param      icosq_cq;
 };
 
-static int mlx5e_get_node(struct mlx5e_priv *priv, int ix)
-{
-	return pci_irq_get_node(priv->mdev->pdev, MLX5_EQ_VEC_COMP_BASE + ix);
-}
-
 static bool mlx5e_check_fragmented_striding_rq_cap(struct mlx5_core_dev *mdev)
 {
 	return MLX5_CAP_GEN(mdev, striding_rq) &&
@@ -452,17 +447,16 @@ static int mlx5e_rq_alloc_mpwqe_info(str
 	int wq_sz = mlx5_wq_ll_get_size(&rq->wq);
 	int mtt_sz = mlx5e_get_wqe_mtt_sz();
 	int mtt_alloc = mtt_sz + MLX5_UMR_ALIGN - 1;
-	int node = mlx5e_get_node(c->priv, c->ix);
 	int i;
 
 	rq->mpwqe.info = kzalloc_node(wq_sz * sizeof(*rq->mpwqe.info),
-					GFP_KERNEL, node);
+				      GFP_KERNEL, cpu_to_node(c->cpu));
 	if (!rq->mpwqe.info)
 		goto err_out;
 
 	/* We allocate more than mtt_sz as we will align the pointer */
-	rq->mpwqe.mtt_no_align = kzalloc_node(mtt_alloc * wq_sz,
-					GFP_KERNEL, node);
+	rq->mpwqe.mtt_no_align = kzalloc_node(mtt_alloc * wq_sz, GFP_KERNEL,
+					cpu_to_node(c->cpu));
 	if (unlikely(!rq->mpwqe.mtt_no_align))
 		goto err_free_wqe_info;
 
@@ -570,7 +564,7 @@ static int mlx5e_alloc_rq(struct mlx5e_c
 	int err;
 	int i;
 
-	rqp->wq.db_numa_node = mlx5e_get_node(c->priv, c->ix);
+	rqp->wq.db_numa_node = cpu_to_node(c->cpu);
 
 	err = mlx5_wq_ll_create(mdev, &rqp->wq, rqc_wq, &rq->wq,
 				&rq->wq_ctrl);
@@ -636,8 +630,7 @@ static int mlx5e_alloc_rq(struct mlx5e_c
 	default: /* MLX5_WQ_TYPE_LINKED_LIST */
 		rq->wqe.frag_info =
 			kzalloc_node(wq_sz * sizeof(*rq->wqe.frag_info),
-				     GFP_KERNEL,
-				     mlx5e_get_node(c->priv, c->ix));
+				     GFP_KERNEL, cpu_to_node(c->cpu));
 		if (!rq->wqe.frag_info) {
 			err = -ENOMEM;
 			goto err_rq_wq_destroy;
@@ -1007,13 +1000,13 @@ static int mlx5e_alloc_xdpsq(struct mlx5
 	sq->uar_map   = mdev->mlx5e_res.bfreg.map;
 	sq->min_inline_mode = params->tx_min_inline_mode;
 
-	param->wq.db_numa_node = mlx5e_get_node(c->priv, c->ix);
+	param->wq.db_numa_node = cpu_to_node(c->cpu);
 	err = mlx5_wq_cyc_create(mdev, &param->wq, sqc_wq, &sq->wq, &sq->wq_ctrl);
 	if (err)
 		return err;
 	sq->wq.db = &sq->wq.db[MLX5_SND_DBR];
 
-	err = mlx5e_alloc_xdpsq_db(sq, mlx5e_get_node(c->priv, c->ix));
+	err = mlx5e_alloc_xdpsq_db(sq, cpu_to_node(c->cpu));
 	if (err)
 		goto err_sq_wq_destroy;
 
@@ -1060,13 +1053,13 @@ static int mlx5e_alloc_icosq(struct mlx5
 	sq->channel   = c;
 	sq->uar_map   = mdev->mlx5e_res.bfreg.map;
 
-	param->wq.db_numa_node = mlx5e_get_node(c->priv, c->ix);
+	param->wq.db_numa_node = cpu_to_node(c->cpu);
 	err = mlx5_wq_cyc_create(mdev, &param->wq, sqc_wq, &sq->wq, &sq->wq_ctrl);
 	if (err)
 		return err;
 	sq->wq.db = &sq->wq.db[MLX5_SND_DBR];
 
-	err = mlx5e_alloc_icosq_db(sq, mlx5e_get_node(c->priv, c->ix));
+	err = mlx5e_alloc_icosq_db(sq, cpu_to_node(c->cpu));
 	if (err)
 		goto err_sq_wq_destroy;
 
@@ -1132,13 +1125,13 @@ static int mlx5e_alloc_txqsq(struct mlx5
 	if (MLX5_IPSEC_DEV(c->priv->mdev))
 		set_bit(MLX5E_SQ_STATE_IPSEC, &sq->state);
 
-	param->wq.db_numa_node = mlx5e_get_node(c->priv, c->ix);
+	param->wq.db_numa_node = cpu_to_node(c->cpu);
 	err = mlx5_wq_cyc_create(mdev, &param->wq, sqc_wq, &sq->wq, &sq->wq_ctrl);
 	if (err)
 		return err;
 	sq->wq.db    = &sq->wq.db[MLX5_SND_DBR];
 
-	err = mlx5e_alloc_txqsq_db(sq, mlx5e_get_node(c->priv, c->ix));
+	err = mlx5e_alloc_txqsq_db(sq, cpu_to_node(c->cpu));
 	if (err)
 		goto err_sq_wq_destroy;
 
@@ -1510,8 +1503,8 @@ static int mlx5e_alloc_cq(struct mlx5e_c
 	struct mlx5_core_dev *mdev = c->priv->mdev;
 	int err;
 
-	param->wq.buf_numa_node = mlx5e_get_node(c->priv, c->ix);
-	param->wq.db_numa_node  = mlx5e_get_node(c->priv, c->ix);
+	param->wq.buf_numa_node = cpu_to_node(c->cpu);
+	param->wq.db_numa_node  = cpu_to_node(c->cpu);
 	param->eq_ix   = c->ix;
 
 	err = mlx5e_alloc_cq_common(mdev, param, cq);
@@ -1610,6 +1603,11 @@ static void mlx5e_close_cq(struct mlx5e_
 	mlx5e_free_cq(cq);
 }
 
+static int mlx5e_get_cpu(struct mlx5e_priv *priv, int ix)
+{
+	return cpumask_first(priv->mdev->priv.irq_info[ix].mask);
+}
+
 static int mlx5e_open_tx_cqs(struct mlx5e_channel *c,
 			     struct mlx5e_params *params,
 			     struct mlx5e_channel_param *cparam)
@@ -1758,12 +1756,13 @@ static int mlx5e_open_channel(struct mlx
 {
 	struct mlx5e_cq_moder icocq_moder = {0, 0};
 	struct net_device *netdev = priv->netdev;
+	int cpu = mlx5e_get_cpu(priv, ix);
 	struct mlx5e_channel *c;
 	unsigned int irq;
 	int err;
 	int eqn;
 
-	c = kzalloc_node(sizeof(*c), GFP_KERNEL, mlx5e_get_node(priv, ix));
+	c = kzalloc_node(sizeof(*c), GFP_KERNEL, cpu_to_node(cpu));
 	if (!c)
 		return -ENOMEM;
 
@@ -1771,6 +1770,7 @@ static int mlx5e_open_channel(struct mlx
 	c->mdev     = priv->mdev;
 	c->tstamp   = &priv->tstamp;
 	c->ix       = ix;
+	c->cpu      = cpu;
 	c->pdev     = &priv->mdev->pdev->dev;
 	c->netdev   = priv->netdev;
 	c->mkey_be  = cpu_to_be32(priv->mdev->mlx5e_res.mkey.key);
@@ -1859,8 +1859,7 @@ static void mlx5e_activate_channel(struc
 	for (tc = 0; tc < c->num_tc; tc++)
 		mlx5e_activate_txqsq(&c->sq[tc]);
 	mlx5e_activate_rq(&c->rq);
-	netif_set_xps_queue(c->netdev,
-		mlx5_get_vector_affinity(c->priv->mdev, c->ix), c->ix);
+	netif_set_xps_queue(c->netdev, get_cpu_mask(c->cpu), c->ix);
 }
 
 static void mlx5e_deactivate_channel(struct mlx5e_channel *c)
--- a/drivers/net/ethernet/mellanox/mlx5/core/main.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c
@@ -316,9 +316,6 @@ static int mlx5_alloc_irq_vectors(struct
 {
 	struct mlx5_priv *priv = &dev->priv;
 	struct mlx5_eq_table *table = &priv->eq_table;
-	struct irq_affinity irqdesc = {
-		.pre_vectors = MLX5_EQ_VEC_COMP_BASE,
-	};
 	int num_eqs = 1 << MLX5_CAP_GEN(dev, log_max_eq);
 	int nvec;
 
@@ -332,10 +329,9 @@ static int mlx5_alloc_irq_vectors(struct
 	if (!priv->irq_info)
 		goto err_free_msix;
 
-	nvec = pci_alloc_irq_vectors_affinity(dev->pdev,
+	nvec = pci_alloc_irq_vectors(dev->pdev,
 			MLX5_EQ_VEC_COMP_BASE + 1, nvec,
-			PCI_IRQ_MSIX | PCI_IRQ_AFFINITY,
-			&irqdesc);
+			PCI_IRQ_MSIX);
 	if (nvec < 0)
 		return nvec;
 
@@ -621,6 +617,63 @@ u64 mlx5_read_internal_timer(struct mlx5
 	return (u64)timer_l | (u64)timer_h1 << 32;
 }
 
+static int mlx5_irq_set_affinity_hint(struct mlx5_core_dev *mdev, int i)
+{
+	struct mlx5_priv *priv  = &mdev->priv;
+	int irq = pci_irq_vector(mdev->pdev, MLX5_EQ_VEC_COMP_BASE + i);
+
+	if (!zalloc_cpumask_var(&priv->irq_info[i].mask, GFP_KERNEL)) {
+		mlx5_core_warn(mdev, "zalloc_cpumask_var failed");
+		return -ENOMEM;
+	}
+
+	cpumask_set_cpu(cpumask_local_spread(i, priv->numa_node),
+			priv->irq_info[i].mask);
+
+	if (IS_ENABLED(CONFIG_SMP) &&
+	    irq_set_affinity_hint(irq, priv->irq_info[i].mask))
+		mlx5_core_warn(mdev, "irq_set_affinity_hint failed, irq 0x%.4x", irq);
+
+	return 0;
+}
+
+static void mlx5_irq_clear_affinity_hint(struct mlx5_core_dev *mdev, int i)
+{
+	struct mlx5_priv *priv  = &mdev->priv;
+	int irq = pci_irq_vector(mdev->pdev, MLX5_EQ_VEC_COMP_BASE + i);
+
+	irq_set_affinity_hint(irq, NULL);
+	free_cpumask_var(priv->irq_info[i].mask);
+}
+
+static int mlx5_irq_set_affinity_hints(struct mlx5_core_dev *mdev)
+{
+	int err;
+	int i;
+
+	for (i = 0; i < mdev->priv.eq_table.num_comp_vectors; i++) {
+		err = mlx5_irq_set_affinity_hint(mdev, i);
+		if (err)
+			goto err_out;
+	}
+
+	return 0;
+
+err_out:
+	for (i--; i >= 0; i--)
+		mlx5_irq_clear_affinity_hint(mdev, i);
+
+	return err;
+}
+
+static void mlx5_irq_clear_affinity_hints(struct mlx5_core_dev *mdev)
+{
+	int i;
+
+	for (i = 0; i < mdev->priv.eq_table.num_comp_vectors; i++)
+		mlx5_irq_clear_affinity_hint(mdev, i);
+}
+
 int mlx5_vector2eqn(struct mlx5_core_dev *dev, int vector, int *eqn,
 		    unsigned int *irqn)
 {
@@ -1093,6 +1146,12 @@ static int mlx5_load_one(struct mlx5_cor
 		goto err_stop_eqs;
 	}
 
+	err = mlx5_irq_set_affinity_hints(dev);
+	if (err) {
+		dev_err(&pdev->dev, "Failed to alloc affinity hint cpumask\n");
+		goto err_affinity_hints;
+	}
+
 	err = mlx5_init_fs(dev);
 	if (err) {
 		dev_err(&pdev->dev, "Failed to init flow steering\n");
@@ -1150,6 +1209,9 @@ err_sriov:
 	mlx5_cleanup_fs(dev);
 
 err_fs:
+	mlx5_irq_clear_affinity_hints(dev);
+
+err_affinity_hints:
 	free_comp_eqs(dev);
 
 err_stop_eqs:
@@ -1218,6 +1280,7 @@ static int mlx5_unload_one(struct mlx5_c
 
 	mlx5_sriov_detach(dev);
 	mlx5_cleanup_fs(dev);
+	mlx5_irq_clear_affinity_hints(dev);
 	free_comp_eqs(dev);
 	mlx5_stop_eqs(dev);
 	mlx5_put_uars_page(dev, priv->uar);
--- a/include/linux/mlx5/driver.h
+++ b/include/linux/mlx5/driver.h
@@ -546,6 +546,7 @@ struct mlx5_core_sriov {
 };
 
 struct mlx5_irq_info {
+	cpumask_var_t mask;
 	char name[MLX5_MAX_IRQ_NAME];
 };
 

  parent reply	other threads:[~2018-01-01 14:49 UTC|newest]

Thread overview: 153+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-01 14:36 [PATCH 4.14 000/146] 4.14.11-stable review Greg Kroah-Hartman
2018-01-01 14:36 ` [PATCH 4.14 001/146] tracing: Remove extra zeroing out of the ring buffer page Greg Kroah-Hartman
2018-01-01 14:36 ` [PATCH 4.14 002/146] tracing: Fix possible double free on failure of allocating trace buffer Greg Kroah-Hartman
2018-01-01 14:36 ` [PATCH 4.14 003/146] tracing: Fix crash when it fails to alloc ring buffer Greg Kroah-Hartman
2018-01-01 14:36 ` [PATCH 4.14 004/146] x86/cpufeatures: Add X86_BUG_CPU_INSECURE Greg Kroah-Hartman
2018-01-01 14:36 ` [PATCH 4.14 005/146] x86/mm/pti: Disable global pages if PAGE_TABLE_ISOLATION=y Greg Kroah-Hartman
2018-01-01 14:36 ` [PATCH 4.14 006/146] x86/mm/pti: Prepare the x86/entry assembly code for entry/exit CR3 switching Greg Kroah-Hartman
2018-01-01 14:36 ` [PATCH 4.14 007/146] x86/mm/pti: Add infrastructure for page table isolation Greg Kroah-Hartman
2018-01-01 14:36 ` [PATCH 4.14 008/146] x86/pti: Add the pti= cmdline option and documentation Greg Kroah-Hartman
2018-01-01 14:36 ` [PATCH 4.14 009/146] x86/mm/pti: Add mapping helper functions Greg Kroah-Hartman
2018-01-01 14:36 ` [PATCH 4.14 010/146] x86/mm/pti: Allow NX poison to be set in p4d/pgd Greg Kroah-Hartman
2018-01-01 14:36 ` [PATCH 4.14 011/146] x86/mm/pti: Allocate a separate user PGD Greg Kroah-Hartman
2018-01-01 14:36 ` [PATCH 4.14 012/146] x86/mm/pti: Populate " Greg Kroah-Hartman
2018-01-01 14:36 ` [PATCH 4.14 013/146] x86/mm/pti: Add functions to clone kernel PMDs Greg Kroah-Hartman
2018-01-01 14:36 ` [PATCH 4.14 014/146] x86/mm/pti: Force entry through trampoline when PTI active Greg Kroah-Hartman
2018-01-01 14:36 ` [PATCH 4.14 015/146] x86/mm/pti: Share cpu_entry_area with user space page tables Greg Kroah-Hartman
2018-01-01 14:36 ` [PATCH 4.14 016/146] x86/entry: Align entry text section to PMD boundary Greg Kroah-Hartman
2018-01-01 14:36 ` [PATCH 4.14 017/146] x86/mm/pti: Share entry text PMD Greg Kroah-Hartman
2018-01-01 14:36 ` [PATCH 4.14 018/146] x86/mm/pti: Map ESPFIX into user space Greg Kroah-Hartman
2018-01-01 14:36 ` [PATCH 4.14 019/146] x86/cpu_entry_area: Add debugstore entries to cpu_entry_area Greg Kroah-Hartman
2018-01-01 14:36 ` [PATCH 4.14 020/146] x86/events/intel/ds: Map debug buffers in cpu_entry_area Greg Kroah-Hartman
2018-01-01 14:36 ` [PATCH 4.14 021/146] x86/mm/64: Make a full PGD-entry size hole in the memory map Greg Kroah-Hartman
2018-01-01 14:36 ` [PATCH 4.14 022/146] x86/pti: Put the LDT in its own PGD if PTI is on Greg Kroah-Hartman
2018-01-01 14:36 ` [PATCH 4.14 023/146] x86/pti: Map the vsyscall page if needed Greg Kroah-Hartman
2018-01-01 14:36 ` [PATCH 4.14 024/146] x86/mm: Allow flushing for future ASID switches Greg Kroah-Hartman
2018-01-01 14:36 ` [PATCH 4.14 025/146] x86/mm: Abstract switching CR3 Greg Kroah-Hartman
2018-01-01 14:36 ` [PATCH 4.14 026/146] x86/mm: Use/Fix PCID to optimize user/kernel switches Greg Kroah-Hartman
2018-01-01 14:36 ` [PATCH 4.14 027/146] x86/mm: Optimize RESTORE_CR3 Greg Kroah-Hartman
2018-01-01 14:36 ` [PATCH 4.14 028/146] x86/mm: Use INVPCID for __native_flush_tlb_single() Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 029/146] x86/mm: Clarify the whole ASID/kernel PCID/user PCID naming Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 030/146] x86/dumpstack: Indicate in Oops whether PTI is configured and enabled Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 031/146] x86/mm/pti: Add Kconfig Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 032/146] x86/mm/dump_pagetables: Add page table directory to the debugfs VFS hierarchy Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 033/146] x86/mm/dump_pagetables: Check user space page table for WX pages Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 034/146] x86/mm/dump_pagetables: Allow dumping current pagetables Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 035/146] x86/ldt: Make the LDT mapping RO Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 036/146] ring-buffer: Mask out the info bits when returning buffer page length Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 037/146] ring-buffer: Do no reuse reader page if still in use Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 038/146] iw_cxgb4: Only validate the MSN for successful completions Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 039/146] ASoC: codecs: msm8916-wcd: Fix supported formats Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 040/146] ASoC: wm_adsp: Fix validation of firmware and coeff lengths Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 041/146] ASoC: da7218: fix fix child-node lookup Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 042/146] ASoC: fsl_ssi: AC97 ops need regmap, clock and cleaning up on failure Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 043/146] ASoC: twl4030: fix child-node lookup Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 044/146] ASoC: tlv320aic31xx: Fix GPIO1 register definition Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 045/146] gpio: fix "gpio-line-names" property retrieval Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 046/146] IB/hfi: Only read capability registers if the capability exists Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 047/146] IB/mlx5: Serialize access to the VMA list Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 048/146] IB/uverbs: Fix command checking as part of ib_uverbs_ex_modify_qp() Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 049/146] IB/core: Verify that QP is security enabled in create and destroy Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 050/146] ALSA: hda: Drop useless WARN_ON() Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 051/146] ALSA: hda - Add MIC_NO_PRESENCE fixup for 2 HP machines Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 052/146] ALSA: hda - change the location for one mic on a Lenovo machine Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 053/146] ALSA: hda - fix headset mic detection issue on a Dell machine Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 054/146] ALSA: hda - Fix missing COEF init for ALC225/295/299 Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 055/146] cpufreq: schedutil: Use idle_calls counter of the remote CPU Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 056/146] block: fix blk_rq_append_bio Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 057/146] block: dont let passthrough IO go into .make_request_fn() Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 058/146] kbuild: add -fno-stack-check to kernel build options Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 059/146] ipv4: igmp: guard against silly MTU values Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 060/146] ipv6: mcast: better catch silly mtu values Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 061/146] net: fec: unmap the xmit buffer that are not transferred by DMA Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 062/146] net: igmp: Use correct source address on IGMPv3 reports Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 063/146] netlink: Add netns check on taps Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 064/146] net: qmi_wwan: add Sierra EM7565 1199:9091 Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 065/146] net: reevalulate autoflowlabel setting after sysctl setting Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 066/146] ptr_ring: add barriers Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 067/146] RDS: Check cmsg_len before dereferencing CMSG_DATA Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 068/146] tcp_bbr: record "full bw reached" decision in new full_bw_reached bit Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 069/146] tcp md5sig: Use skbs saddr when replying to an incoming segment Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 070/146] tg3: Fix rx hang on MTU change with 5717/5719 Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 071/146] tcp_bbr: reset full pipe detection on loss recovery undo Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 072/146] tcp_bbr: reset long-term bandwidth sampling " Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 073/146] s390/qeth: apply takeover changes when mode is toggled Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 074/146] s390/qeth: dont apply takeover changes to RXIP Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 075/146] s390/qeth: lock IP table while applying takeover changes Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 076/146] s390/qeth: update takeover IPs after configuration change Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 077/146] net: ipv4: fix for a race condition in raw_sendmsg Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 078/146] net: mvmdio: disable/unprepare clocks in EPROBE_DEFER case Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 079/146] sctp: Replace use of sockets_allocated with specified macro Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 080/146] adding missing rcu_read_unlock in ipxip6_rcv Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 081/146] ip6_gre: fix device features for ioctl setup Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 082/146] ipv4: Fix use-after-free when flushing FIB tables Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 083/146] net: bridge: fix early call to br_stp_change_bridge_id and plug newlink leaks Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 084/146] net: Fix double free and memory corruption in get_net_ns_by_id() Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 085/146] net: phy: micrel: ksz9031: reconfigure autoneg after phy autoneg workaround Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 086/146] sock: free skb in skb_complete_tx_timestamp on error Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 087/146] tcp: invalidate rate samples during SACK reneging Greg Kroah-Hartman
2018-01-01 14:37 ` [PATCH 4.14 088/146] net/mlx5: Fix rate limit packet pacing naming and struct Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 089/146] net/mlx5e: Fix possible deadlock of VXLAN lock Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 090/146] net/mlx5e: Fix features check of IPv6 traffic Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 091/146] net/mlx5e: Add refcount to VXLAN structure Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 092/146] net/mlx5e: Prevent possible races in VXLAN control flow Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 093/146] net/mlx5: Fix error flow in CREATE_QP command Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 094/146] openvswitch: Fix pop_vlan action for double tagged frames Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 095/146] sfc: pass valid pointers from efx_enqueue_unwind Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 096/146] net: dsa: bcm_sf2: Clear IDDQ_GLOBAL_PWR bit for PHY Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 097/146] s390/qeth: fix error handling in checksum cmd callback Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 098/146] sctp: make sure stream nums can match optlen in sctp_setsockopt_reset_streams Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 099/146] tipc: fix hanging poll() for stream sockets Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 100/146] mlxsw: spectrum: Disable MAC learning for ovs port Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 101/146] tcp: fix potential underestimation on rcv_rtt Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 102/146] net: phy: marvell: Limit 88m1101 autoneg errata to 88E1145 as well Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 103/146] ipv6: Honor specified parameters in fibmatch lookup Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 104/146] tcp: refresh tcp_mstamp from timers callbacks Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 105/146] net/mlx5: FPGA, return -EINVAL if size is zero Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 106/146] vxlan: restore dev->mtu setting based on lower device Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 107/146] net: sched: fix static key imbalance in case of ingress/clsact_init error Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 108/146] bnxt_en: Fix sources of spurious netpoll warnings Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 109/146] phylink: ensure the PHY interface mode is appropriately set Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 110/146] phylink: ensure AN is enabled Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 111/146] ipv4: fib: Fix metrics match when deleting a route Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 112/146] ipv6: set all.accept_dad to 0 by default Greg Kroah-Hartman
2018-01-01 14:38 ` Greg Kroah-Hartman [this message]
2018-01-01 14:38 ` [PATCH 4.14 114/146] skbuff: orphan frags before zerocopy clone Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 115/146] skbuff: skb_copy_ubufs must release uarg even without user frags Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 116/146] skbuff: in skb_copy_ubufs unclone before releasing zerocopy Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 117/146] [PATCH] sparc64: repair calling incorrect hweight function from stubs Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 118/146] usbip: fix usbip bind writing random string after command in match_busid Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 119/146] usbip: prevent leaking socket pointer address in messages Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 120/146] usbip: stub: stop printing kernel pointer addresses " Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 121/146] usbip: vhci: " Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 122/146] USB: chipidea: msm: fix ulpi-node lookup Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 123/146] USB: serial: ftdi_sio: add id for Airbus DS P8GR Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 124/146] USB: serial: qcserial: add Sierra Wireless EM7565 Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 125/146] USB: serial: option: add support for Telit ME910 PID 0x1101 Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 126/146] USB: serial: option: adding support for YUGA CLM920-NC5 Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 127/146] usb: Add device quirk for Logitech HD Pro Webcam C925e Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 128/146] usb: add RESET_RESUME for ELSA MicroLink 56K Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 129/146] USB: Fix off by one in type-specific length check of BOS SSP capability Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 130/146] usb: xhci: Add XHCI_TRUST_TX_LENGTH for Renesas uPD720201 Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 131/146] timers: Use deferrable base independent of base::nohz_active Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 132/146] timers: Invoke timer_start_debug() where it makes sense Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 133/146] timers: Reinitialize per cpu bases on hotplug Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 134/146] binder: fix proc->files use-after-free Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 135/146] phy: tegra: fix device-tree node lookups Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 136/146] drivers: base: cacheinfo: fix cache type for non-architected system cache Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 137/146] staging: android: ion: Fix dma direction for dma_sync_sg_for_cpu/device Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 138/146] nohz: Prevent a timer interrupt storm in tick_nohz_stop_sched_tick() Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 139/146] x86/smpboot: Remove stale TLB flush invocations Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 140/146] x86/mm: Remove preempt_disable/enable() from __native_flush_tlb() Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 141/146] x86-32: Fix kexec with stack canary (CONFIG_CC_STACKPROTECTOR) Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 142/146] x86/espfix/64: Fix espfix double-fault handling on 5-level systems Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 143/146] x86/ldt: Plug memory leak in error path Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 144/146] x86/ldt: Make LDT pgtable free conditional Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 145/146] n_tty: fix EXTPROC vs ICANON interaction with TIOCINQ (aka FIONREAD) Greg Kroah-Hartman
2018-01-01 14:38 ` [PATCH 4.14 146/146] tty: fix tty_ldisc_receive_buf() documentation Greg Kroah-Hartman
2018-01-01 20:07 ` [PATCH 4.14 000/146] 4.14.11-stable review kernelci.org bot
2018-01-01 20:28 ` Naresh Kamboju
2018-01-02  8:56   ` Greg Kroah-Hartman
2018-01-02 17:40 ` Guenter Roeck
2018-01-02 22:34 ` Shuah Khan
2018-01-03 10:00   ` Greg Kroah-Hartman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180101140140.310714795@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=jsorensen@fb.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=saeedm@mellanox.com \
    --cc=sagi@grimberg.me \
    --cc=stable@vger.kernel.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox