Message ID | 1540431746-176759-1-git-send-email-weiyongjun1@huawei.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
Series | octeontx2-af: Use GFP_ATOMIC under spin lock | expand |
On Thu, Oct 25, 2018 at 7:02 AM Wei Yongjun <weiyongjun1@huawei.com> wrote: > > The function nix_update_mce_list() is called from > nix_update_bcast_mce_list(), and a spin lock is held > here, so we should use GFP_ATOMIC instead. > > Fixes: 4b05528ebf0c ("octeontx2-af: Update bcast list upon NIXLF alloc/free") > Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> > --- > drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c b/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c > index 8890c95..a618e48 100644 > --- a/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c > +++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c > @@ -1294,7 +1294,7 @@ static int nix_update_mce_list(struct nix_mce_list *mce_list, > return 0; > > /* Add a new one to the list, at the tail */ > - mce = kzalloc(sizeof(*mce), GFP_KERNEL); > + mce = kzalloc(sizeof(*mce), GFP_ATOMIC); > if (!mce) > return -ENOMEM; > mce->idx = idx; > Thanks for pointing this and for the patch. FYI, this driver is no where near to complete, after net-next is open we will start submitting rest of the patches. There is a subsequent patch which changes most of the locks to mutex from spinlock, which will fix this issue as well. It would be great if above patch is ignored for now, as in it's current state driver is not complete and usable. Otherwise also fine, I will change change/fix this again. Regards, Sunil.
From: Wei Yongjun <weiyongjun1@huawei.com> Date: Thu, 25 Oct 2018 01:42:26 +0000 > The function nix_update_mce_list() is called from > nix_update_bcast_mce_list(), and a spin lock is held > here, so we should use GFP_ATOMIC instead. > > Fixes: 4b05528ebf0c ("octeontx2-af: Update bcast list upon NIXLF alloc/free") > Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> I'm applying this. I'm really disappointed in how the octeontx2 driver submission has done. The Intel folks can get an entire new driver in with 2 series of patches, we're on the 3rd or 4th here and the driver still isn't completely enough to have basic functionality working. This driver is huge, overly complicated, and is being submitted in a very painful way.
diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c b/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c index 8890c95..a618e48 100644 --- a/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c +++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c @@ -1294,7 +1294,7 @@ static int nix_update_mce_list(struct nix_mce_list *mce_list, return 0; /* Add a new one to the list, at the tail */ - mce = kzalloc(sizeof(*mce), GFP_KERNEL); + mce = kzalloc(sizeof(*mce), GFP_ATOMIC); if (!mce) return -ENOMEM; mce->idx = idx;
The function nix_update_mce_list() is called from nix_update_bcast_mce_list(), and a spin lock is held here, so we should use GFP_ATOMIC instead. Fixes: 4b05528ebf0c ("octeontx2-af: Update bcast list upon NIXLF alloc/free") Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> --- drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)