Re: linux-next: build failure after merge of the rdma tree
On 7/8/2019 12:08 PM, Jason Gunthorpe wrote: On Mon, Jul 08, 2019 at 12:57:25PM +1000, Stephen Rothwell wrote: Hi all, After merging the rdma tree, today's linux-next build (x86_64 allmodconfig) failed like this: In file included from :32: ./usr/include/rdma/rvt-abi.h:13:10: fatal error: rdma/ib_verbs.h: No such file or directory #include ^ Caused by commits dabac6e460ce ("IB/hfi1: Move receive work queue struct into uapi directory") interacting with commit 0c422a3d4e1b ("kbuild: compile-test exported headers to ensure they are self-contained") from the kbuild tree. You can't reference the include/linux headers from uapi headers ... I have used the rmda tree from 20190628 again today (given the previous errors). This is a bug that will break our userspace package too, we must fix it, very happy to see the functionality in "kbuild: compile-test exported headers to ensure they are self-contained" Dennis, you must put stuff in rdma-core and run the rdma-core CI if you are messing with the uapi headers. Sorry for the delay, I've been on vacation the past few weeks, just now seeing this... I'm pretty sure Kamenee did when she prepared the patches in the first place and sent the PR. Not sure where things went off the rails but we'll be more careful in the future. Thanks for fixing. -Denny
Re: linux-next: build failure after merge of the rdma tree
Hi Masahiro, On Wed, 17 Jul 2019 15:33:28 +0900 Masahiro Yamada wrote: > > Yes, this is just a one-liner fix-up, > so I'd like to fold it into this: > > https://patchwork.kernel.org/patch/11047283/ Fine by me. -- Cheers, Stephen Rothwell pgptzZ9UbTDBm.pgp Description: OpenPGP digital signature
Re: linux-next: build failure after merge of the rdma tree
Hi Stephen, On Wed, Jul 17, 2019 at 8:28 AM Stephen Rothwell wrote: > > Hi, > > On Wed, 10 Jul 2019 14:30:36 +1000 Stephen Rothwell > wrote: > > > > On Wed, 10 Jul 2019 11:04:43 +1000 Stephen Rothwell > > wrote: > > > > > > On Tue, 9 Jul 2019 12:46:34 + Jason Gunthorpe > > > wrote: > > > > > > > > It isn't quite enough to make the header compile stand alone, I'm > > > > adding this instead. > > > > > > > > From 37c1e072276b03b080eb24ff24c39080aeaf49ef Mon Sep 17 00:00:00 2001 > > > > From: Jason Gunthorpe > > > > Date: Tue, 9 Jul 2019 09:44:47 -0300 > > > > Subject: [PATCH] RDMA/counters: Make rdma_counter.h compile stand alone > > > > > > I will apply this to linux-next today and reenable the stand alone > > > building for rdma_counter.h > > > > That worked for me ... > > rdma_counter.h should be able to be removed from the exceptions list now. > > I have been building linux-next with this patch for a while, so maybe > it could be applied to the kbuild tree? > > From: Stephen Rothwell > Date: Wed, 10 Jul 2019 13:03:16 +1000 > Subject: [PATCH] rdma: attempt to build rdma_counter.h stand alone again > > Signed-off-by: Stephen Rothwell > --- > include/Kbuild | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/include/Kbuild b/include/Kbuild > index 7e9f1acb9dd5..765ff864130d 100644 > --- a/include/Kbuild > +++ b/include/Kbuild > @@ -949,7 +949,6 @@ header-test-+= pcmcia/ds.h > header-test- += rdma/ib.h > header-test- += rdma/iw_portmap.h > header-test- += rdma/opa_port_info.h > -header-test- += rdma/rdma_counter.h > header-test- += rdma/rdmavt_cq.h > header-test- += rdma/restrack.h > header-test- += rdma/signature.h Yes, this is just a one-liner fix-up, so I'd like to fold it into this: https://patchwork.kernel.org/patch/11047283/ -- Best Regards Masahiro Yamada
Re: linux-next: build failure after merge of the rdma tree
Hi, On Wed, 10 Jul 2019 14:30:36 +1000 Stephen Rothwell wrote: > > On Wed, 10 Jul 2019 11:04:43 +1000 Stephen Rothwell > wrote: > > > > On Tue, 9 Jul 2019 12:46:34 + Jason Gunthorpe > > wrote: > > > > > > It isn't quite enough to make the header compile stand alone, I'm > > > adding this instead. > > > > > > From 37c1e072276b03b080eb24ff24c39080aeaf49ef Mon Sep 17 00:00:00 2001 > > > From: Jason Gunthorpe > > > Date: Tue, 9 Jul 2019 09:44:47 -0300 > > > Subject: [PATCH] RDMA/counters: Make rdma_counter.h compile stand alone > > > > > > > I will apply this to linux-next today and reenable the stand alone > > building for rdma_counter.h > > That worked for me ... rdma_counter.h should be able to be removed from the exceptions list now. I have been building linux-next with this patch for a while, so maybe it could be applied to the kbuild tree? From: Stephen Rothwell Date: Wed, 10 Jul 2019 13:03:16 +1000 Subject: [PATCH] rdma: attempt to build rdma_counter.h stand alone again Signed-off-by: Stephen Rothwell --- include/Kbuild | 1 - 1 file changed, 1 deletion(-) diff --git a/include/Kbuild b/include/Kbuild index 7e9f1acb9dd5..765ff864130d 100644 --- a/include/Kbuild +++ b/include/Kbuild @@ -949,7 +949,6 @@ header-test-+= pcmcia/ds.h header-test- += rdma/ib.h header-test- += rdma/iw_portmap.h header-test- += rdma/opa_port_info.h -header-test- += rdma/rdma_counter.h header-test- += rdma/rdmavt_cq.h header-test- += rdma/restrack.h header-test- += rdma/signature.h -- 2.20.1 -- Cheers, Stephen Rothwell pgpVnG88wHmOp.pgp Description: OpenPGP digital signature
Re: linux-next: build failure after merge of the rdma tree
Hi all, On Wed, 10 Jul 2019 11:04:43 +1000 Stephen Rothwell wrote: > > On Tue, 9 Jul 2019 12:46:34 + Jason Gunthorpe wrote: > > > > It isn't quite enough to make the header compile stand alone, I'm > > adding this instead. > > > > From 37c1e072276b03b080eb24ff24c39080aeaf49ef Mon Sep 17 00:00:00 2001 > > From: Jason Gunthorpe > > Date: Tue, 9 Jul 2019 09:44:47 -0300 > > Subject: [PATCH] RDMA/counters: Make rdma_counter.h compile stand alone > > I will apply this to linux-next today and reenable the stand alone > building for rdma_counter.h That worked for me ... -- Cheers, Stephen Rothwell pgpaEBaFryQWM.pgp Description: OpenPGP digital signature
Re: linux-next: build failure after merge of the rdma tree
Hi Jason, On Tue, 9 Jul 2019 12:46:34 + Jason Gunthorpe wrote: > > It isn't quite enough to make the header compile stand alone, I'm > adding this instead. > > From 37c1e072276b03b080eb24ff24c39080aeaf49ef Mon Sep 17 00:00:00 2001 > From: Jason Gunthorpe > Date: Tue, 9 Jul 2019 09:44:47 -0300 > Subject: [PATCH] RDMA/counters: Make rdma_counter.h compile stand alone I will apply this to linux-next today and reenable the stand alone building for rdma_counter.h -- Cheers, Stephen Rothwell pgpkJTX1ncqvt.pgp Description: OpenPGP digital signature
Re: linux-next: build failure after merge of the rdma tree
On Tue, Jul 09, 2019 at 10:43:56PM +1000, Stephen Rothwell wrote: > Hi Leon, > > On Tue, 9 Jul 2019 07:18:00 + Leon Romanovsky wrote: > > > > For some reason, I wasn't in initial email report, can you please check why? > > Sorry about that, I manually grab email addresses from SOB lines in > commits I am reporting and managed to miss yours this time. I might > try to script this up. Maybe it will help, https://github.com/rleon/x-tools/blob/master/x-fp#L141 This is how I'm generating CC-list for patches. Thanks > > -- > Cheers, > Stephen Rothwell
Re: linux-next: build failure after merge of the rdma tree
On Tue, Jul 09, 2019 at 04:18:00AM -0300, Leon Romanovsky wrote: > On Tue, Jul 09, 2019 at 10:04:16AM +0300, Mark Zhang wrote: > > Hi Stephen, > > Stephen, > > For some reason, I wasn't in initial email report, can you please check why? > > I need to be aware of any issues related to patches with my name on it > for tracking and improving internal submission flows/checks. > > > > > Can you please try the patch below, thank you. > > Jason, Doug, > > Can you please take this patch? It isn't quite enough to make the header compile stand alone, I'm adding this instead. >From 37c1e072276b03b080eb24ff24c39080aeaf49ef Mon Sep 17 00:00:00 2001 From: Jason Gunthorpe Date: Tue, 9 Jul 2019 09:44:47 -0300 Subject: [PATCH] RDMA/counters: Make rdma_counter.h compile stand alone 5.4-rc1 will have new compile time debugging to test that headers can be compiled stand alone. Many rdma headers are already broken and excluded from the mechanism, however to avoid compile failures during the merge window fix enough so that the newly added header compiles clean. Fixes: 413d3347503b ("RDMA/counter: Add set/clear per-port auto mode support") Reported-by: Stephen Rothwell Signed-off-by: Jason Gunthorpe Signed-off-by: Mark Zhang --- include/rdma/rdma_counter.h | 2 +- include/rdma/restrack.h | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/include/rdma/rdma_counter.h b/include/rdma/rdma_counter.h index 68827700ba957e..eb99856e8b3078 100644 --- a/include/rdma/rdma_counter.h +++ b/include/rdma/rdma_counter.h @@ -9,10 +9,10 @@ #include #include -#include #include #include +struct ib_device; struct ib_qp; struct auto_mode_param { diff --git a/include/rdma/restrack.h b/include/rdma/restrack.h index 4041a4d96524b4..b0fc6b26bdf531 100644 --- a/include/rdma/restrack.h +++ b/include/rdma/restrack.h @@ -14,6 +14,9 @@ #include #include +struct ib_device; +struct sk_buff; + /** * enum rdma_restrack_type - HW objects to track */ @@ -52,8 +55,6 @@ enum rdma_restrack_type { RDMA_RESTRACK_MAX }; -struct ib_device; - /** * struct rdma_restrack_entry - metadata per-entry */ -- 2.21.0
Re: linux-next: build failure after merge of the rdma tree
Hi Leon, On Tue, 9 Jul 2019 07:18:00 + Leon Romanovsky wrote: > > For some reason, I wasn't in initial email report, can you please check why? Sorry about that, I manually grab email addresses from SOB lines in commits I am reporting and managed to miss yours this time. I might try to script this up. -- Cheers, Stephen Rothwell pgp3TjLLSoRMI.pgp Description: OpenPGP digital signature
Re: linux-next: build failure after merge of the rdma tree
On Tue, Jul 09, 2019 at 10:04:16AM +0300, Mark Zhang wrote: > Hi Stephen, Stephen, For some reason, I wasn't in initial email report, can you please check why? I need to be aware of any issues related to patches with my name on it for tracking and improving internal submission flows/checks. > > Can you please try the patch below, thank you. Jason, Doug, Can you please take this patch? Thanks > > net/mlx5: Remove include ib_verbs.h in rdma_counter.h > > rdma_counter.h include ib_verbs.h which in turn needs rdma_port_counter > from rdma_counter.h, but it is not defined yet. > > Fixes: 413d3347503b ("RDMA/counter: Add set/clear per-port auto mode > support") > Signed-off-by: Mark Zhang > > diff --git a/include/rdma/rdma_counter.h b/include/rdma/rdma_counter.h > index 68827700ba95..eb99856e8b30 100644 > --- a/include/rdma/rdma_counter.h > +++ b/include/rdma/rdma_counter.h > @@ -9,10 +9,10 @@ > #include > #include > > -#include > #include > #include > > +struct ib_device; > struct ib_qp; > > struct auto_mode_param { > > On 7/9/2019 11:30 AM, Stephen Rothwell wrote: > > Hi all, > > > > After merging the rdma tree, today's linux-next build (x86_64 > > allmodconfig) failed like this: > > > > In file included from /home/sfr/next/next/include/rdma/rdma_counter.h:12, > > from : > > /home/sfr/next/next/include/rdma/ib_verbs.h:2126:27: error: field > > 'port_counter' has incomplete type > >struct rdma_port_counter port_counter; > > ^~~~ > > > > Caused by commit > > > >413d3347503b ("RDMA/counter: Add set/clear per-port auto mode support") > > > > rdma_counter.h include ib_verbs.h which in turn needs rdma_port_counter > > from rdma_counter.h, but it is not defined yet :-( > > > > I have applied the following patch for today. > > > > From: Stephen Rothwell > > Date: Tue, 9 Jul 2019 13:17:49 +1000 > > Subject: [PATCH] RDMA: don't try to build rdma_counter.h for now > > > > rdma_counter.h include ib_verbs.h which in turn needs rdma_port_counter > > from rdma_counter.h, but it is not defined yet :-( > > > > Signed-off-by: Stephen Rothwell > > --- > > include/Kbuild | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/include/Kbuild b/include/Kbuild > > index 78434c59701f..8dab85cdf4f4 100644 > > --- a/include/Kbuild > > +++ b/include/Kbuild > > @@ -939,6 +939,7 @@ header-test-+= rdma/ib.h > > header-test- += rdma/iw_portmap.h > > header-test- += rdma/opa_port_info.h > > header-test- += rdma/rdmavt_cq.h > > +header-test- += rdma/rdma_counter.h > > header-test- += rdma/restrack.h > > header-test- += rdma/signature.h > > header-test- += rdma/tid_rdma_defs.h > > >
Re: linux-next: build failure after merge of the rdma tree
Hi Stephen, Can you please try the patch below, thank you. net/mlx5: Remove include ib_verbs.h in rdma_counter.h rdma_counter.h include ib_verbs.h which in turn needs rdma_port_counter from rdma_counter.h, but it is not defined yet. Fixes: 413d3347503b ("RDMA/counter: Add set/clear per-port auto mode support") Signed-off-by: Mark Zhang diff --git a/include/rdma/rdma_counter.h b/include/rdma/rdma_counter.h index 68827700ba95..eb99856e8b30 100644 --- a/include/rdma/rdma_counter.h +++ b/include/rdma/rdma_counter.h @@ -9,10 +9,10 @@ #include #include -#include #include #include +struct ib_device; struct ib_qp; struct auto_mode_param { On 7/9/2019 11:30 AM, Stephen Rothwell wrote: > Hi all, > > After merging the rdma tree, today's linux-next build (x86_64 > allmodconfig) failed like this: > > In file included from /home/sfr/next/next/include/rdma/rdma_counter.h:12, > from : > /home/sfr/next/next/include/rdma/ib_verbs.h:2126:27: error: field > 'port_counter' has incomplete type >struct rdma_port_counter port_counter; > ^~~~ > > Caused by commit > >413d3347503b ("RDMA/counter: Add set/clear per-port auto mode support") > > rdma_counter.h include ib_verbs.h which in turn needs rdma_port_counter > from rdma_counter.h, but it is not defined yet :-( > > I have applied the following patch for today. > > From: Stephen Rothwell > Date: Tue, 9 Jul 2019 13:17:49 +1000 > Subject: [PATCH] RDMA: don't try to build rdma_counter.h for now > > rdma_counter.h include ib_verbs.h which in turn needs rdma_port_counter > from rdma_counter.h, but it is not defined yet :-( > > Signed-off-by: Stephen Rothwell > --- > include/Kbuild | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/include/Kbuild b/include/Kbuild > index 78434c59701f..8dab85cdf4f4 100644 > --- a/include/Kbuild > +++ b/include/Kbuild > @@ -939,6 +939,7 @@ header-test- += rdma/ib.h > header-test-+= rdma/iw_portmap.h > header-test-+= rdma/opa_port_info.h > header-test-+= rdma/rdmavt_cq.h > +header-test- += rdma/rdma_counter.h > header-test-+= rdma/restrack.h > header-test-+= rdma/signature.h > header-test-+= rdma/tid_rdma_defs.h >
linux-next: build failure after merge of the rdma tree
Hi all, After merging the rdma tree, today's linux-next build (x86_64 allmodconfig) failed like this: In file included from /home/sfr/next/next/include/rdma/rdma_counter.h:12, from : /home/sfr/next/next/include/rdma/ib_verbs.h:2126:27: error: field 'port_counter' has incomplete type struct rdma_port_counter port_counter; ^~~~ Caused by commit 413d3347503b ("RDMA/counter: Add set/clear per-port auto mode support") rdma_counter.h include ib_verbs.h which in turn needs rdma_port_counter from rdma_counter.h, but it is not defined yet :-( I have applied the following patch for today. From: Stephen Rothwell Date: Tue, 9 Jul 2019 13:17:49 +1000 Subject: [PATCH] RDMA: don't try to build rdma_counter.h for now rdma_counter.h include ib_verbs.h which in turn needs rdma_port_counter from rdma_counter.h, but it is not defined yet :-( Signed-off-by: Stephen Rothwell --- include/Kbuild | 1 + 1 file changed, 1 insertion(+) diff --git a/include/Kbuild b/include/Kbuild index 78434c59701f..8dab85cdf4f4 100644 --- a/include/Kbuild +++ b/include/Kbuild @@ -939,6 +939,7 @@ header-test-+= rdma/ib.h header-test- += rdma/iw_portmap.h header-test- += rdma/opa_port_info.h header-test- += rdma/rdmavt_cq.h +header-test- += rdma/rdma_counter.h header-test- += rdma/restrack.h header-test- += rdma/signature.h header-test- += rdma/tid_rdma_defs.h -- 2.20.1 -- Cheers, Stephen Rothwell pgp7gXOiihi4Z.pgp Description: OpenPGP digital signature
Re: linux-next: build failure after merge of the rdma tree
Hi Jason, On Mon, 8 Jul 2019 16:08:27 + Jason Gunthorpe wrote: > > From f10ff380fd7dfba4a36d40f8dd00fe17da8a1a10 Mon Sep 17 00:00:00 2001 > From: Jason Gunthorpe > Date: Mon, 8 Jul 2019 12:17:48 -0300 > Subject: [PATCH] RDMA/rvt: Do not use a kernel header in the ABI > > rvt was using ib_sge as part of it's ABI, which is not allowed. Introduce > a new struct with the same layout and use it instead. > > Fixes: dabac6e460ce ("IB/hfi1: Move receive work queue struct into uapi > directory") > Reported-by: Stephen Rothwell > Signed-off-by: Jason Gunthorpe I applied that to linux-next today. -- Cheers, Stephen Rothwell pgpyVVxwRGVLV.pgp Description: OpenPGP digital signature
Re: linux-next: build failure after merge of the rdma tree
On Mon, Jul 08, 2019 at 12:57:25PM +1000, Stephen Rothwell wrote: > Hi all, > > After merging the rdma tree, today's linux-next build (x86_64 > allmodconfig) failed like this: > > In file included from :32: > ./usr/include/rdma/rvt-abi.h:13:10: fatal error: rdma/ib_verbs.h: No such > file or directory > #include > ^ > > Caused by commits > > dabac6e460ce ("IB/hfi1: Move receive work queue struct into uapi directory") > > interacting with commit > > 0c422a3d4e1b ("kbuild: compile-test exported headers to ensure they are > self-contained") > > from the kbuild tree. > > You can't reference the include/linux headers from uapi headers ... > > I have used the rmda tree from 20190628 again today (given the previous > errors). This is a bug that will break our userspace package too, we must fix it, very happy to see the functionality in "kbuild: compile-test exported headers to ensure they are self-contained" Dennis, you must put stuff in rdma-core and run the rdma-core CI if you are messing with the uapi headers. I'm adding this fixup so we can progress with the merge window. Please check it right away. >From f10ff380fd7dfba4a36d40f8dd00fe17da8a1a10 Mon Sep 17 00:00:00 2001 From: Jason Gunthorpe Date: Mon, 8 Jul 2019 12:17:48 -0300 Subject: [PATCH] RDMA/rvt: Do not use a kernel header in the ABI rvt was using ib_sge as part of it's ABI, which is not allowed. Introduce a new struct with the same layout and use it instead. Fixes: dabac6e460ce ("IB/hfi1: Move receive work queue struct into uapi directory") Reported-by: Stephen Rothwell Signed-off-by: Jason Gunthorpe --- drivers/infiniband/sw/rdmavt/qp.c | 32 ++- include/uapi/rdma/rvt-abi.h | 9 +++-- 2 files changed, 34 insertions(+), 7 deletions(-) diff --git a/drivers/infiniband/sw/rdmavt/qp.c b/drivers/infiniband/sw/rdmavt/qp.c index 11b4d3c1efd486..0b0a241c57ff37 100644 --- a/drivers/infiniband/sw/rdmavt/qp.c +++ b/drivers/infiniband/sw/rdmavt/qp.c @@ -1847,8 +1847,11 @@ int rvt_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr, wqe = rvt_get_rwqe_ptr(&qp->r_rq, wq->head); wqe->wr_id = wr->wr_id; wqe->num_sge = wr->num_sge; - for (i = 0; i < wr->num_sge; i++) - wqe->sg_list[i] = wr->sg_list[i]; + for (i = 0; i < wr->num_sge; i++) { + wqe->sg_list[i].addr = wr->sg_list[i].addr; + wqe->sg_list[i].length = wr->sg_list[i].length; + wqe->sg_list[i].lkey = wr->sg_list[i].lkey; + } /* * Make sure queue entry is written * before the head index. @@ -2250,8 +2253,11 @@ int rvt_post_srq_recv(struct ib_srq *ibsrq, const struct ib_recv_wr *wr, wqe = rvt_get_rwqe_ptr(&srq->rq, wq->head); wqe->wr_id = wr->wr_id; wqe->num_sge = wr->num_sge; - for (i = 0; i < wr->num_sge; i++) - wqe->sg_list[i] = wr->sg_list[i]; + for (i = 0; i < wr->num_sge; i++) { + wqe->sg_list[i].addr = wr->sg_list[i].addr; + wqe->sg_list[i].length = wr->sg_list[i].length; + wqe->sg_list[i].lkey = wr->sg_list[i].lkey; + } /* Make sure queue entry is written before the head index. */ smp_store_release(&wq->head, next); spin_unlock_irqrestore(&srq->rq.kwq->p_lock, flags); @@ -2259,6 +2265,22 @@ int rvt_post_srq_recv(struct ib_srq *ibsrq, const struct ib_recv_wr *wr, return 0; } +/* + * rvt used the internal kernel struct as part of its ABI, for now make sure + * the kernel struct does not change layout. FIXME: rvt should never cast the + * user struct to a kernel struct. + */ +static struct ib_sge *rvt_cast_sge(struct rvt_wqe_sge *sge) +{ + BUILD_BUG_ON(offsetof(struct ib_sge, addr) != +offsetof(struct rvt_wqe_sge, addr)); + BUILD_BUG_ON(offsetof(struct ib_sge, length) != +offsetof(struct rvt_wqe_sge, length)); + BUILD_BUG_ON(offsetof(struct ib_sge, lkey) != +offsetof(struct rvt_wqe_sge, lkey)); + return (struct ib_sge *)sge; +} + /* * Validate a RWQE and fill in the SGE state. * Return 1 if OK. @@ -2282,7 +2304,7 @@ static int init_sge(struct rvt_qp *qp, struct rvt_rwqe *wqe) continue; /* Check LKEY */ ret = rvt_lkey_ok(rkt, pd, j ? &ss->sg_list[j - 1] : &ss->sge, - NULL, &wqe->sg_list[i], + NULL, rvt_cast_sge(&wqe->sg_list[i]), IB_ACCESS_LOCAL_WRITE); if (unlikely(ret <= 0))
Re: Re: Re: linux-next: build failure after merge of the rdma tree
-"Jason Gunthorpe" wrote: - >To: "Bernard Metzler" >From: "Jason Gunthorpe" >Date: 07/08/2019 04:56PM >Cc: "Stephen Rothwell" , "Doug Ledford" >, "Linux Next Mailing List" >, "Linux Kernel Mailing List" >, "linux-r...@vger.kernel.org" > >Subject: [EXTERNAL] Re: Re: linux-next: build failure after merge of >the rdma tree > >On Mon, Jul 08, 2019 at 02:28:13PM +, Bernard Metzler wrote: > >> Thanks for bringing this up. Indeed, that explicit >> initialization seem to be inappropriate. Can you please >> fix that as you suggest? > >I'm applying this to fix the PER_CPU stuff in siw: > >From 4c7d6dcd364843e408a60952ba914bb72bafc6cc Mon Sep 17 00:00:00 >2001 >From: Jason Gunthorpe >Date: Mon, 8 Jul 2019 11:36:32 -0300 >Subject: [PATCH] RDMA/siw: Fix DEFINE_PER_CPU compilation when > ARCH_NEEDS_WEAK_PER_CPU > >The initializer for the variable cannot be inside the macro (and zero >initialization isn't needed anyhow). > >include/linux/percpu-defs.h:92:33: warning: '__pcpu_unique_use_cnt' >initialized and declared 'extern' > extern __PCPU_DUMMY_ATTRS char __pcpu_unique_##name; \ > ^~ >include/linux/percpu-defs.h:115:2: note: in expansion of macro >'DEFINE_PER_CPU_SECTION' > DEFINE_PER_CPU_SECTION(type, name, "") > ^~ >drivers/infiniband/sw/siw/siw_main.c:129:8: note: in expansion of >macro 'DEFINE_PER_CPU' > static DEFINE_PER_CPU(atomic_t, use_cnt = ATOMIC_INIT(0)); >^~ > >Also the rules for PER_CPU require the variable names to be globally >unique, so prefix them with siw_ > >Fixes: b9be6f18cf9e ("rdma/siw: transmit path") >Fixes: bdcf26bf9b3a ("rdma/siw: network and RDMA core interface") >Reported-by: Stephen Rothwell >Signed-off-by: Jason Gunthorpe >--- > drivers/infiniband/sw/siw/siw_main.c | 8 > drivers/infiniband/sw/siw/siw_qp_tx.c | 10 +- > 2 files changed, 9 insertions(+), 9 deletions(-) > >diff --git a/drivers/infiniband/sw/siw/siw_main.c >b/drivers/infiniband/sw/siw/siw_main.c >index 3f5f3d27ebe5a1..fd2552a9091dee 100644 >--- a/drivers/infiniband/sw/siw/siw_main.c >+++ b/drivers/infiniband/sw/siw/siw_main.c >@@ -126,7 +126,7 @@ static int siw_dev_qualified(struct net_device >*netdev) > return 0; > } > >-static DEFINE_PER_CPU(atomic_t, use_cnt = ATOMIC_INIT(0)); >+static DEFINE_PER_CPU(atomic_t, siw_use_cnt); > > static struct { > struct cpumask **tx_valid_cpus; >@@ -215,7 +215,7 @@ int siw_get_tx_cpu(struct siw_device *sdev) > if (!siw_tx_thread[cpu]) > continue; > >- usage = atomic_read(&per_cpu(use_cnt, cpu)); >+ usage = atomic_read(&per_cpu(siw_use_cnt, cpu)); > if (usage <= min_use) { > tx_cpu = cpu; > min_use = usage; >@@ -226,7 +226,7 @@ int siw_get_tx_cpu(struct siw_device *sdev) > > out: > if (tx_cpu >= 0) >- atomic_inc(&per_cpu(use_cnt, tx_cpu)); >+ atomic_inc(&per_cpu(siw_use_cnt, tx_cpu)); > else > pr_warn("siw: no tx cpu found\n"); > >@@ -235,7 +235,7 @@ int siw_get_tx_cpu(struct siw_device *sdev) > > void siw_put_tx_cpu(int cpu) > { >- atomic_dec(&per_cpu(use_cnt, cpu)); >+ atomic_dec(&per_cpu(siw_use_cnt, cpu)); > } > > static struct ib_qp *siw_get_base_qp(struct ib_device *base_dev, int >id) >diff --git a/drivers/infiniband/sw/siw/siw_qp_tx.c >b/drivers/infiniband/sw/siw/siw_qp_tx.c >index 5e926fac51db30..1c9fa8fa96e513 100644 >--- a/drivers/infiniband/sw/siw/siw_qp_tx.c >+++ b/drivers/infiniband/sw/siw/siw_qp_tx.c >@@ -1183,12 +1183,12 @@ struct tx_task_t { > wait_queue_head_t waiting; > }; > >-static DEFINE_PER_CPU(struct tx_task_t, tx_task_g); >+static DEFINE_PER_CPU(struct tx_task_t, siw_tx_task_g); > > void siw_stop_tx_thread(int nr_cpu) > { > kthread_stop(siw_tx_thread[nr_cpu]); >- wake_up(&per_cpu(tx_task_g, nr_cpu).waiting); >+ wake_up(&per_cpu(siw_tx_task_g, nr_cpu).waiting); > } > > int siw_run_sq(void *data) >@@ -1196,7 +1196,7 @@ int siw_run_sq(void *data) > const int nr_cpu = (unsigned int)(long)data; > struct llist_node *active; > struct siw_qp *qp; >- struct tx_task_t *tx_task = &per_cpu(tx_task_g, nr_cpu); >+ struct tx_task_t *tx_task = &per_cpu(siw_tx_task_g, nr_cpu); > > init_llist_head(&tx_task->active); > init_waitqueue_head(&tx_task->waiting); >@@ -1261,9 +1261,9 @@ int siw_sq_start(struct siw_qp *qp) > } > siw_qp_get(qp); > >- llist_add(&qp->tx_list, &per_cpu(tx_task_g, qp->tx_cpu).active); >+ llist_add(&qp->tx_list, &per_cpu(siw_tx_task_g, >qp->tx_cpu).active); > >- wake_up(&per_cpu(tx_task_g, qp->tx_cpu).waiting); >+ wake_up(&per_cpu(siw_tx_task_g, qp->tx_cpu).waiting); > > return 0; > } >-- >2.21.0 > > Many thanks Jason! Very much appreciated! Bernard.
Re: Re: linux-next: build failure after merge of the rdma tree
On Mon, Jul 08, 2019 at 02:28:13PM +, Bernard Metzler wrote: > Thanks for bringing this up. Indeed, that explicit > initialization seem to be inappropriate. Can you please > fix that as you suggest? I'm applying this to fix the PER_CPU stuff in siw: >From 4c7d6dcd364843e408a60952ba914bb72bafc6cc Mon Sep 17 00:00:00 2001 From: Jason Gunthorpe Date: Mon, 8 Jul 2019 11:36:32 -0300 Subject: [PATCH] RDMA/siw: Fix DEFINE_PER_CPU compilation when ARCH_NEEDS_WEAK_PER_CPU The initializer for the variable cannot be inside the macro (and zero initialization isn't needed anyhow). include/linux/percpu-defs.h:92:33: warning: '__pcpu_unique_use_cnt' initialized and declared 'extern' extern __PCPU_DUMMY_ATTRS char __pcpu_unique_##name; \ ^~ include/linux/percpu-defs.h:115:2: note: in expansion of macro 'DEFINE_PER_CPU_SECTION' DEFINE_PER_CPU_SECTION(type, name, "") ^~ drivers/infiniband/sw/siw/siw_main.c:129:8: note: in expansion of macro 'DEFINE_PER_CPU' static DEFINE_PER_CPU(atomic_t, use_cnt = ATOMIC_INIT(0)); ^~ Also the rules for PER_CPU require the variable names to be globally unique, so prefix them with siw_ Fixes: b9be6f18cf9e ("rdma/siw: transmit path") Fixes: bdcf26bf9b3a ("rdma/siw: network and RDMA core interface") Reported-by: Stephen Rothwell Signed-off-by: Jason Gunthorpe --- drivers/infiniband/sw/siw/siw_main.c | 8 drivers/infiniband/sw/siw/siw_qp_tx.c | 10 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/infiniband/sw/siw/siw_main.c b/drivers/infiniband/sw/siw/siw_main.c index 3f5f3d27ebe5a1..fd2552a9091dee 100644 --- a/drivers/infiniband/sw/siw/siw_main.c +++ b/drivers/infiniband/sw/siw/siw_main.c @@ -126,7 +126,7 @@ static int siw_dev_qualified(struct net_device *netdev) return 0; } -static DEFINE_PER_CPU(atomic_t, use_cnt = ATOMIC_INIT(0)); +static DEFINE_PER_CPU(atomic_t, siw_use_cnt); static struct { struct cpumask **tx_valid_cpus; @@ -215,7 +215,7 @@ int siw_get_tx_cpu(struct siw_device *sdev) if (!siw_tx_thread[cpu]) continue; - usage = atomic_read(&per_cpu(use_cnt, cpu)); + usage = atomic_read(&per_cpu(siw_use_cnt, cpu)); if (usage <= min_use) { tx_cpu = cpu; min_use = usage; @@ -226,7 +226,7 @@ int siw_get_tx_cpu(struct siw_device *sdev) out: if (tx_cpu >= 0) - atomic_inc(&per_cpu(use_cnt, tx_cpu)); + atomic_inc(&per_cpu(siw_use_cnt, tx_cpu)); else pr_warn("siw: no tx cpu found\n"); @@ -235,7 +235,7 @@ int siw_get_tx_cpu(struct siw_device *sdev) void siw_put_tx_cpu(int cpu) { - atomic_dec(&per_cpu(use_cnt, cpu)); + atomic_dec(&per_cpu(siw_use_cnt, cpu)); } static struct ib_qp *siw_get_base_qp(struct ib_device *base_dev, int id) diff --git a/drivers/infiniband/sw/siw/siw_qp_tx.c b/drivers/infiniband/sw/siw/siw_qp_tx.c index 5e926fac51db30..1c9fa8fa96e513 100644 --- a/drivers/infiniband/sw/siw/siw_qp_tx.c +++ b/drivers/infiniband/sw/siw/siw_qp_tx.c @@ -1183,12 +1183,12 @@ struct tx_task_t { wait_queue_head_t waiting; }; -static DEFINE_PER_CPU(struct tx_task_t, tx_task_g); +static DEFINE_PER_CPU(struct tx_task_t, siw_tx_task_g); void siw_stop_tx_thread(int nr_cpu) { kthread_stop(siw_tx_thread[nr_cpu]); - wake_up(&per_cpu(tx_task_g, nr_cpu).waiting); + wake_up(&per_cpu(siw_tx_task_g, nr_cpu).waiting); } int siw_run_sq(void *data) @@ -1196,7 +1196,7 @@ int siw_run_sq(void *data) const int nr_cpu = (unsigned int)(long)data; struct llist_node *active; struct siw_qp *qp; - struct tx_task_t *tx_task = &per_cpu(tx_task_g, nr_cpu); + struct tx_task_t *tx_task = &per_cpu(siw_tx_task_g, nr_cpu); init_llist_head(&tx_task->active); init_waitqueue_head(&tx_task->waiting); @@ -1261,9 +1261,9 @@ int siw_sq_start(struct siw_qp *qp) } siw_qp_get(qp); - llist_add(&qp->tx_list, &per_cpu(tx_task_g, qp->tx_cpu).active); + llist_add(&qp->tx_list, &per_cpu(siw_tx_task_g, qp->tx_cpu).active); - wake_up(&per_cpu(tx_task_g, qp->tx_cpu).waiting); + wake_up(&per_cpu(siw_tx_task_g, qp->tx_cpu).waiting); return 0; } -- 2.21.0
Re: Re: linux-next: build failure after merge of the rdma tree
-"Jason Gunthorpe" wrote: - >To: "Stephen Rothwell" , "Bernard Metzler" > >From: "Jason Gunthorpe" >Date: 07/08/2019 04:09PM >Cc: "Doug Ledford" , "Linux Next Mailing List" >, "Linux Kernel Mailing List" > >Subject: [EXTERNAL] Re: linux-next: build failure after merge of the >rdma tree > >On Mon, Jul 08, 2019 at 01:03:51PM +1000, Stephen Rothwell wrote: >> Hi all, >> >> After merging the rdma tree, today's linux-next build (x86_64 >> allmodconfig) failed like this: >> >> In file included from include/asm-generic/percpu.h:7, >> from arch/x86/include/asm/percpu.h:544, >> from arch/x86/include/asm/preempt.h:6, >> from include/linux/preempt.h:78, >> from include/linux/spinlock.h:51, >> from include/linux/seqlock.h:36, >> from include/linux/time.h:6, >> from include/linux/ktime.h:24, >> from include/linux/timer.h:6, >> from include/linux/netdevice.h:24, >> from drivers/infiniband/sw/siw/siw_main.c:8: >> include/linux/percpu-defs.h:92:33: warning: '__pcpu_unique_use_cnt' >initialized and declared 'extern' >> extern __PCPU_DUMMY_ATTRS char __pcpu_unique_##name; \ >> ^~ >> include/linux/percpu-defs.h:115:2: note: in expansion of macro >'DEFINE_PER_CPU_SECTION' >> DEFINE_PER_CPU_SECTION(type, name, "") >> ^~ >> drivers/infiniband/sw/siw/siw_main.c:129:8: note: in expansion of >macro 'DEFINE_PER_CPU' >> static DEFINE_PER_CPU(atomic_t, use_cnt = ATOMIC_INIT(0)); >> ^~ >> include/linux/percpu-defs.h:93:26: error: redefinition of >'__pcpu_unique_use_cnt' >> __PCPU_DUMMY_ATTRS char __pcpu_unique_##name; \ >> ^~ >> include/linux/percpu-defs.h:115:2: note: in expansion of macro >'DEFINE_PER_CPU_SECTION' >> DEFINE_PER_CPU_SECTION(type, name, "") >> ^~ >> drivers/infiniband/sw/siw/siw_main.c:129:8: note: in expansion of >macro 'DEFINE_PER_CPU' >> static DEFINE_PER_CPU(atomic_t, use_cnt = ATOMIC_INIT(0)); > >Bernard, > >This looks like the wrong way to use DEFINE_PER_CPU these days. I'm >not sure why my compiles don't hit it, or why 0-day didn't say >something > >Looking at the other atomic_t PER_CPU users they just rely on >automatic zero initialization, so this should just be: > > static DEFINE_PER_CPU(atomic_t, use_cnt); > >? > >Please confirm ASAP. > Hi Jason, Thanks for bringing this up. Indeed, that explicit initialization seem to be inappropriate. Can you please fix that as you suggest? Thanks very much, Bernard.
Re: linux-next: build failure after merge of the rdma tree
On Mon, Jul 08, 2019 at 01:03:51PM +1000, Stephen Rothwell wrote: > Hi all, > > After merging the rdma tree, today's linux-next build (x86_64 > allmodconfig) failed like this: > > In file included from include/asm-generic/percpu.h:7, > from arch/x86/include/asm/percpu.h:544, > from arch/x86/include/asm/preempt.h:6, > from include/linux/preempt.h:78, > from include/linux/spinlock.h:51, > from include/linux/seqlock.h:36, > from include/linux/time.h:6, > from include/linux/ktime.h:24, > from include/linux/timer.h:6, > from include/linux/netdevice.h:24, > from drivers/infiniband/sw/siw/siw_main.c:8: > include/linux/percpu-defs.h:92:33: warning: '__pcpu_unique_use_cnt' > initialized and declared 'extern' > extern __PCPU_DUMMY_ATTRS char __pcpu_unique_##name; \ > ^~ > include/linux/percpu-defs.h:115:2: note: in expansion of macro > 'DEFINE_PER_CPU_SECTION' > DEFINE_PER_CPU_SECTION(type, name, "") > ^~ > drivers/infiniband/sw/siw/siw_main.c:129:8: note: in expansion of macro > 'DEFINE_PER_CPU' > static DEFINE_PER_CPU(atomic_t, use_cnt = ATOMIC_INIT(0)); > ^~ > include/linux/percpu-defs.h:93:26: error: redefinition of > '__pcpu_unique_use_cnt' > __PCPU_DUMMY_ATTRS char __pcpu_unique_##name; \ > ^~ > include/linux/percpu-defs.h:115:2: note: in expansion of macro > 'DEFINE_PER_CPU_SECTION' > DEFINE_PER_CPU_SECTION(type, name, "") > ^~ > drivers/infiniband/sw/siw/siw_main.c:129:8: note: in expansion of macro > 'DEFINE_PER_CPU' > static DEFINE_PER_CPU(atomic_t, use_cnt = ATOMIC_INIT(0)); Bernard, This looks like the wrong way to use DEFINE_PER_CPU these days. I'm not sure why my compiles don't hit it, or why 0-day didn't say something Looking at the other atomic_t PER_CPU users they just rely on automatic zero initialization, so this should just be: static DEFINE_PER_CPU(atomic_t, use_cnt); ? Please confirm ASAP. Jason
linux-next: build failure after merge of the rdma tree
Hi all, After merging the rdma tree, today's linux-next build (x86_64 allmodconfig) failed like this: In file included from include/asm-generic/percpu.h:7, from arch/x86/include/asm/percpu.h:544, from arch/x86/include/asm/preempt.h:6, from include/linux/preempt.h:78, from include/linux/spinlock.h:51, from include/linux/seqlock.h:36, from include/linux/time.h:6, from include/linux/ktime.h:24, from include/linux/timer.h:6, from include/linux/netdevice.h:24, from drivers/infiniband/sw/siw/siw_main.c:8: include/linux/percpu-defs.h:92:33: warning: '__pcpu_unique_use_cnt' initialized and declared 'extern' extern __PCPU_DUMMY_ATTRS char __pcpu_unique_##name; \ ^~ include/linux/percpu-defs.h:115:2: note: in expansion of macro 'DEFINE_PER_CPU_SECTION' DEFINE_PER_CPU_SECTION(type, name, "") ^~ drivers/infiniband/sw/siw/siw_main.c:129:8: note: in expansion of macro 'DEFINE_PER_CPU' static DEFINE_PER_CPU(atomic_t, use_cnt = ATOMIC_INIT(0)); ^~ include/linux/percpu-defs.h:93:26: error: redefinition of '__pcpu_unique_use_cnt' __PCPU_DUMMY_ATTRS char __pcpu_unique_##name; \ ^~ include/linux/percpu-defs.h:115:2: note: in expansion of macro 'DEFINE_PER_CPU_SECTION' DEFINE_PER_CPU_SECTION(type, name, "") ^~ drivers/infiniband/sw/siw/siw_main.c:129:8: note: in expansion of macro 'DEFINE_PER_CPU' static DEFINE_PER_CPU(atomic_t, use_cnt = ATOMIC_INIT(0)); ^~ include/linux/percpu-defs.h:92:33: note: previous definition of '__pcpu_unique_use_cnt' was here extern __PCPU_DUMMY_ATTRS char __pcpu_unique_##name; \ ^~ include/linux/percpu-defs.h:115:2: note: in expansion of macro 'DEFINE_PER_CPU_SECTION' DEFINE_PER_CPU_SECTION(type, name, "") ^~ drivers/infiniband/sw/siw/siw_main.c:129:8: note: in expansion of macro 'DEFINE_PER_CPU' static DEFINE_PER_CPU(atomic_t, use_cnt = ATOMIC_INIT(0)); ^~ drivers/infiniband/sw/siw/siw_main.c:129:33: warning: 'use_cnt' initialized and declared 'extern' static DEFINE_PER_CPU(atomic_t, use_cnt = ATOMIC_INIT(0)); ^~~ include/linux/percpu-defs.h:94:44: note: in definition of macro 'DEFINE_PER_CPU_SECTION' extern __PCPU_ATTRS(sec) __typeof__(type) name; \ ^~~~ drivers/infiniband/sw/siw/siw_main.c:129:8: note: in expansion of macro 'DEFINE_PER_CPU' static DEFINE_PER_CPU(atomic_t, use_cnt = ATOMIC_INIT(0)); ^~ drivers/infiniband/sw/siw/siw_main.c:129:33: error: redefinition of 'use_cnt' static DEFINE_PER_CPU(atomic_t, use_cnt = ATOMIC_INIT(0)); ^~~ include/linux/percpu-defs.h:95:44: note: in definition of macro 'DEFINE_PER_CPU_SECTION' __PCPU_ATTRS(sec) __weak __typeof__(type) name ^~~~ drivers/infiniband/sw/siw/siw_main.c:129:8: note: in expansion of macro 'DEFINE_PER_CPU' static DEFINE_PER_CPU(atomic_t, use_cnt = ATOMIC_INIT(0)); ^~ drivers/infiniband/sw/siw/siw_main.c:129:33: note: previous definition of 'use_cnt' was here static DEFINE_PER_CPU(atomic_t, use_cnt = ATOMIC_INIT(0)); ^~~ include/linux/percpu-defs.h:94:44: note: in definition of macro 'DEFINE_PER_CPU_SECTION' extern __PCPU_ATTRS(sec) __typeof__(type) name; \ ^~~~ drivers/infiniband/sw/siw/siw_main.c:129:8: note: in expansion of macro 'DEFINE_PER_CPU' static DEFINE_PER_CPU(atomic_t, use_cnt = ATOMIC_INIT(0)); ^~ Caused by commit bdcf26bf9b3a ("rdma/siw: network and RDMA core interface") I have used the rdma tree from 20190628 again today. -- Cheers, Stephen Rothwell pgpA81hVeow8Z.pgp Description: OpenPGP digital signature
linux-next: build failure after merge of the rdma tree
Hi all, After merging the rdma tree, today's linux-next build (x86_64 allmodconfig) failed like this: In file included from :32: ./usr/include/rdma/rvt-abi.h:13:10: fatal error: rdma/ib_verbs.h: No such file or directory #include ^ Caused by commits dabac6e460ce ("IB/hfi1: Move receive work queue struct into uapi directory") interacting with commit 0c422a3d4e1b ("kbuild: compile-test exported headers to ensure they are self-contained") from the kbuild tree. You can't reference the include/linux headers from uapi headers ... I have used the rmda tree from 20190628 again today (given the previous errors). -- Cheers, Stephen Rothwell pgpJZqZyvzlQS.pgp Description: OpenPGP digital signature
Re: linux-next: build failure after merge of the rdma tree
Hi Jason, On Fri, 5 Jul 2019 13:15:31 + Jason Gunthorpe wrote: > > It should be fixed now Excellent, thanks. -- Cheers, Stephen Rothwell pgpZStyhu_RVe.pgp Description: OpenPGP digital signature
Re: linux-next: build failure after merge of the rdma tree
On Thu, Jul 04, 2019 at 12:02:35PM +1000, Stephen Rothwell wrote: > Hi all, > > On Mon, 1 Jul 2019 14:14:31 +1000 Stephen Rothwell > wrote: > > > > Hi all, > > > > After merging the rdma tree, today's linux-next build (x86_64 > > allmodconfig) failed like this: > > > > WARNING: modpost: missing MODULE_LICENSE() in > > drivers/infiniband/hw/hns/hns_roce_ah.o > > see include/linux/module.h for more information > . > . > . > > ERROR: "hns_roce_bitmap_cleanup" > > [drivers/infiniband/hw/hns/hns_roce_srq.ko] undefined! > . > . > . > > ERROR: "hns_roce_ib_destroy_cq" > > [drivers/infiniband/hw/hns/hns-roce-hw-v1.ko] undefined! > > > > Presumably caused by commit > > > > e9816ddf2a33 ("RDMA/hns: Cleanup unnecessary exported symbols") > > > > I have used the rdma tree from next-20190628 for today. > > I am still getting these errors/warnings. It should be fixed now Regards, Jason
Re: linux-next: build failure after merge of the rdma tree
在 2019/7/4 10:04, Jason Gunthorpe 写道: > On Thu, Jul 04, 2019 at 12:02:35PM +1000, Stephen Rothwell wrote: >> Hi all, >> >> On Mon, 1 Jul 2019 14:14:31 +1000 Stephen Rothwell >> wrote: >>> Hi all, >>> >>> After merging the rdma tree, today's linux-next build (x86_64 >>> allmodconfig) failed like this: >>> >>> WARNING: modpost: missing MODULE_LICENSE() in >>> drivers/infiniband/hw/hns/hns_roce_ah.o >>> see include/linux/module.h for more information >> . >> . >> . >>> ERROR: "hns_roce_bitmap_cleanup" >>> [drivers/infiniband/hw/hns/hns_roce_srq.ko] undefined! >> . >> . >> . >>> ERROR: "hns_roce_ib_destroy_cq" >>> [drivers/infiniband/hw/hns/hns-roce-hw-v1.ko] undefined! >>> >>> Presumably caused by commit >>> >>> e9816ddf2a33 ("RDMA/hns: Cleanup unnecessary exported symbols") >>> >>> I have used the rdma tree from next-20190628 for today. >> I am still getting these errors/warnings. > I have not got a fixing patch from HNS team. > > At this late date I will revert the problematic HNS patch tomorrow. > > Jason Hi, Jason We have sent a fixup patch. This problem only appears when compiled into ko. Our self-test is build in. Thanks. Lijun Ou > . >
Re: linux-next: build failure after merge of the rdma tree
在 2019/7/4 12:07, wangxi 写道: > > > 在 2019/7/4 10:04, Jason Gunthorpe 写道: >> On Thu, Jul 04, 2019 at 12:02:35PM +1000, Stephen Rothwell wrote: >>> Hi all, >>> >>> On Mon, 1 Jul 2019 14:14:31 +1000 Stephen Rothwell >>> wrote: Hi all, After merging the rdma tree, today's linux-next build (x86_64 allmodconfig) failed like this: WARNING: modpost: missing MODULE_LICENSE() in drivers/infiniband/hw/hns/hns_roce_ah.o see include/linux/module.h for more information >>> . >>> . >>> . ERROR: "hns_roce_bitmap_cleanup" [drivers/infiniband/hw/hns/hns_roce_srq.ko] undefined! >>> . >>> . >>> . ERROR: "hns_roce_ib_destroy_cq" [drivers/infiniband/hw/hns/hns-roce-hw-v1.ko] undefined! Presumably caused by commit e9816ddf2a33 ("RDMA/hns: Cleanup unnecessary exported symbols") I have used the rdma tree from next-20190628 for today. >>> >>> I am still getting these errors/warnings. >> >> I have not got a fixing patch from HNS team. >> >> At this late date I will revert the problematic HNS patch tomorrow. >> There is indeed a mistake, I will append a patch as soon as possible. > > The patch sent before has a problem caused by the merge of the local code. > The correct one > should be as follows : > > diff --git a/drivers/infiniband/hw/hns/Makefile > b/drivers/infiniband/hw/hns/Makefile > index b956cf4..b06125f 100644 > --- a/drivers/infiniband/hw/hns/Makefile > +++ b/drivers/infiniband/hw/hns/Makefile > @@ -9,8 +9,8 @@ hns-roce-objs := hns_roce_main.o hns_roce_cmd.o hns_roce_pd.o > \ > hns_roce_cq.o hns_roce_alloc.o hns_roce_db.o hns_roce_srq.o > hns_roce_restrack.o > > ifdef CONFIG_INFINIBAND_HNS_HIP06 > -hns-roce-hw-v1-objs := hns_roce_hw_v1.o > -obj-$(CONFIG_INFINIBAND_HNS) += hns-roce-hw-v1.o $(hns-roce-objs) > +hns-roce-hw-v1-objs := hns_roce_hw_v1.o $(hns-roce-objs) > +obj-$(CONFIG_INFINIBAND_HNS) += hns-roce-hw-v1.o > endif > The old patch does have an error and I will append a new patch as soon as possible. >> Jason >> . >>
Re: linux-next: build failure after merge of the rdma tree
在 2019/7/4 10:04, Jason Gunthorpe 写道: > On Thu, Jul 04, 2019 at 12:02:35PM +1000, Stephen Rothwell wrote: >> Hi all, >> >> On Mon, 1 Jul 2019 14:14:31 +1000 Stephen Rothwell >> wrote: >>> >>> Hi all, >>> >>> After merging the rdma tree, today's linux-next build (x86_64 >>> allmodconfig) failed like this: >>> >>> WARNING: modpost: missing MODULE_LICENSE() in >>> drivers/infiniband/hw/hns/hns_roce_ah.o >>> see include/linux/module.h for more information >> . >> . >> . >>> ERROR: "hns_roce_bitmap_cleanup" >>> [drivers/infiniband/hw/hns/hns_roce_srq.ko] undefined! >> . >> . >> . >>> ERROR: "hns_roce_ib_destroy_cq" >>> [drivers/infiniband/hw/hns/hns-roce-hw-v1.ko] undefined! >>> >>> Presumably caused by commit >>> >>> e9816ddf2a33 ("RDMA/hns: Cleanup unnecessary exported symbols") >>> >>> I have used the rdma tree from next-20190628 for today. >> >> I am still getting these errors/warnings. > > I have not got a fixing patch from HNS team. > > At this late date I will revert the problematic HNS patch tomorrow. > There is indeed a mistake, I will append a patch as soon as possible. The patch sent before has a problem caused by the merge of the local code. The correct one should be as follows : diff --git a/drivers/infiniband/hw/hns/Makefile b/drivers/infiniband/hw/hns/Makefile index b956cf4..b06125f 100644 --- a/drivers/infiniband/hw/hns/Makefile +++ b/drivers/infiniband/hw/hns/Makefile @@ -9,8 +9,8 @@ hns-roce-objs := hns_roce_main.o hns_roce_cmd.o hns_roce_pd.o \ hns_roce_cq.o hns_roce_alloc.o hns_roce_db.o hns_roce_srq.o hns_roce_restrack.o ifdef CONFIG_INFINIBAND_HNS_HIP06 -hns-roce-hw-v1-objs := hns_roce_hw_v1.o -obj-$(CONFIG_INFINIBAND_HNS) += hns-roce-hw-v1.o $(hns-roce-objs) +hns-roce-hw-v1-objs := hns_roce_hw_v1.o $(hns-roce-objs) +obj-$(CONFIG_INFINIBAND_HNS) += hns-roce-hw-v1.o endif > Jason > . >
Re: linux-next: build failure after merge of the rdma tree
在 2019/7/4 10:04, Jason Gunthorpe 写道: > On Thu, Jul 04, 2019 at 12:02:35PM +1000, Stephen Rothwell wrote: >> Hi all, >> >> On Mon, 1 Jul 2019 14:14:31 +1000 Stephen Rothwell >> wrote: >>> Hi all, >>> >>> After merging the rdma tree, today's linux-next build (x86_64 >>> allmodconfig) failed like this: >>> >>> WARNING: modpost: missing MODULE_LICENSE() in >>> drivers/infiniband/hw/hns/hns_roce_ah.o >>> see include/linux/module.h for more information >> . >> . >> . >>> ERROR: "hns_roce_bitmap_cleanup" >>> [drivers/infiniband/hw/hns/hns_roce_srq.ko] undefined! >> . >> . >> . >>> ERROR: "hns_roce_ib_destroy_cq" >>> [drivers/infiniband/hw/hns/hns-roce-hw-v1.ko] undefined! >>> >>> Presumably caused by commit >>> >>> e9816ddf2a33 ("RDMA/hns: Cleanup unnecessary exported symbols") >>> >>> I have used the rdma tree from next-20190628 for today. >> I am still getting these errors/warnings. > I have not got a fixing patch from HNS team. > > At this late date I will revert the problematic HNS patch tomorrow. > > Jason Hi, Jason Sorry, our guys may not see your mail in time. I will fix it and send a email in today. Thanks Lijun Ou > . >
Re: linux-next: build failure after merge of the rdma tree
On Thu, Jul 04, 2019 at 12:02:35PM +1000, Stephen Rothwell wrote: > Hi all, > > On Mon, 1 Jul 2019 14:14:31 +1000 Stephen Rothwell > wrote: > > > > Hi all, > > > > After merging the rdma tree, today's linux-next build (x86_64 > > allmodconfig) failed like this: > > > > WARNING: modpost: missing MODULE_LICENSE() in > > drivers/infiniband/hw/hns/hns_roce_ah.o > > see include/linux/module.h for more information > . > . > . > > ERROR: "hns_roce_bitmap_cleanup" > > [drivers/infiniband/hw/hns/hns_roce_srq.ko] undefined! > . > . > . > > ERROR: "hns_roce_ib_destroy_cq" > > [drivers/infiniband/hw/hns/hns-roce-hw-v1.ko] undefined! > > > > Presumably caused by commit > > > > e9816ddf2a33 ("RDMA/hns: Cleanup unnecessary exported symbols") > > > > I have used the rdma tree from next-20190628 for today. > > I am still getting these errors/warnings. I have not got a fixing patch from HNS team. At this late date I will revert the problematic HNS patch tomorrow. Jason
Re: linux-next: build failure after merge of the rdma tree
Hi all, On Mon, 1 Jul 2019 14:14:31 +1000 Stephen Rothwell wrote: > > Hi all, > > After merging the rdma tree, today's linux-next build (x86_64 > allmodconfig) failed like this: > > WARNING: modpost: missing MODULE_LICENSE() in > drivers/infiniband/hw/hns/hns_roce_ah.o > see include/linux/module.h for more information . . . > ERROR: "hns_roce_bitmap_cleanup" [drivers/infiniband/hw/hns/hns_roce_srq.ko] > undefined! . . . > ERROR: "hns_roce_ib_destroy_cq" [drivers/infiniband/hw/hns/hns-roce-hw-v1.ko] > undefined! > > Presumably caused by commit > > e9816ddf2a33 ("RDMA/hns: Cleanup unnecessary exported symbols") > > I have used the rdma tree from next-20190628 for today. I am still getting these errors/warnings. -- Cheers, Stephen Rothwell pgpLRgdEXnWcm.pgp Description: OpenPGP digital signature
Re: linux-next: build failure after merge of the rdma tree
On Mon, Jul 01, 2019 at 03:54:30PM +0800, wangxi wrote: > > Presumably caused by commit > > > > e9816ddf2a33 ("RDMA/hns: Cleanup unnecessary exported symbols") > > I have confirmed the latest code in > https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git. I > found that the changes to Makefile and Kconfig in the original patch > have been lost. What does that mean? Commit e9816ddf2a33f3afdf3dfc35c21aafad389ee482 looks the same as https://patchwork.kernel.org/patch/11003547/ To me Please send a fixup patch. This looks wrong: obj-$(CONFIG_INFINIBAND_HNS) += hns-roce-hw-v1.o $(hns-roce-objs) Jason
Re: linux-next: build failure after merge of the rdma tree
在 2019/7/1 12:14, Stephen Rothwell 写道: > Hi all, > > After merging the rdma tree, today's linux-next build (x86_64 > allmodconfig) failed like this: > > WARNING: modpost: missing MODULE_LICENSE() in > drivers/infiniband/hw/hns/hns_roce_ah.o > see include/linux/module.h for more information > WARNING: modpost: missing MODULE_LICENSE() in > drivers/infiniband/hw/hns/hns_roce_alloc.o > see include/linux/module.h for more information > WARNING: modpost: missing MODULE_LICENSE() in > drivers/infiniband/hw/hns/hns_roce_cmd.o > see include/linux/module.h for more information > WARNING: modpost: missing MODULE_LICENSE() in > drivers/infiniband/hw/hns/hns_roce_cq.o > see include/linux/module.h for more information > WARNING: modpost: missing MODULE_LICENSE() in > drivers/infiniband/hw/hns/hns_roce_db.o > see include/linux/module.h for more information > WARNING: modpost: missing MODULE_LICENSE() in > drivers/infiniband/hw/hns/hns_roce_hem.o > see include/linux/module.h for more information > WARNING: modpost: missing MODULE_LICENSE() in > drivers/infiniband/hw/hns/hns_roce_mr.o > see include/linux/module.h for more information > WARNING: modpost: missing MODULE_LICENSE() in > drivers/infiniband/hw/hns/hns_roce_pd.o > see include/linux/module.h for more information > WARNING: modpost: missing MODULE_LICENSE() in > drivers/infiniband/hw/hns/hns_roce_qp.o > see include/linux/module.h for more information > WARNING: modpost: missing MODULE_LICENSE() in > drivers/infiniband/hw/hns/hns_roce_restrack.o > see include/linux/module.h for more information > WARNING: modpost: missing MODULE_LICENSE() in > drivers/infiniband/hw/hns/hns_roce_srq.o > see include/linux/module.h for more information > ERROR: "hns_roce_bitmap_cleanup" [drivers/infiniband/hw/hns/hns_roce_srq.ko] > undefined! > ERROR: "hns_roce_bitmap_init" [drivers/infiniband/hw/hns/hns_roce_srq.ko] > undefined! > ERROR: "hns_roce_free_cmd_mailbox" > [drivers/infiniband/hw/hns/hns_roce_srq.ko] undefined! > ERROR: "hns_roce_alloc_cmd_mailbox" > [drivers/infiniband/hw/hns/hns_roce_srq.ko] undefined! > ERROR: "hns_roce_table_get" [drivers/infiniband/hw/hns/hns_roce_srq.ko] > undefined! > ERROR: "hns_roce_bitmap_alloc" [drivers/infiniband/hw/hns/hns_roce_srq.ko] > undefined! > ERROR: "hns_roce_table_find" [drivers/infiniband/hw/hns/hns_roce_srq.ko] > undefined! > ERROR: "hns_roce_ib_umem_write_mtt" > [drivers/infiniband/hw/hns/hns_roce_srq.ko] undefined! > ERROR: "hns_roce_mtt_cleanup" [drivers/infiniband/hw/hns/hns_roce_srq.ko] > undefined! > ERROR: "hns_roce_buf_write_mtt" [drivers/infiniband/hw/hns/hns_roce_srq.ko] > undefined! > ERROR: "hns_roce_buf_free" [drivers/infiniband/hw/hns/hns_roce_srq.ko] > undefined! > ERROR: "hns_roce_buf_alloc" [drivers/infiniband/hw/hns/hns_roce_srq.ko] > undefined! > ERROR: "hns_roce_mtt_init" [drivers/infiniband/hw/hns/hns_roce_srq.ko] > undefined! > ERROR: "hns_roce_bitmap_free" [drivers/infiniband/hw/hns/hns_roce_srq.ko] > undefined! > ERROR: "hns_roce_table_put" [drivers/infiniband/hw/hns/hns_roce_srq.ko] > undefined! > ERROR: "hns_roce_cmd_mbox" [drivers/infiniband/hw/hns/hns_roce_srq.ko] > undefined! > ERROR: "hns_roce_bitmap_cleanup" [drivers/infiniband/hw/hns/hns_roce_qp.ko] > undefined! > ERROR: "hns_roce_bitmap_init" [drivers/infiniband/hw/hns/hns_roce_qp.ko] > undefined! > ERROR: "hns_roce_buf_free" [drivers/infiniband/hw/hns/hns_roce_qp.ko] > undefined! > ERROR: "hns_roce_free_db" [drivers/infiniband/hw/hns/hns_roce_qp.ko] > undefined! > ERROR: "hns_roce_alloc_db" [drivers/infiniband/hw/hns/hns_roce_qp.ko] > undefined! > ERROR: "hns_roce_bitmap_free_range" > [drivers/infiniband/hw/hns/hns_roce_qp.ko] undefined! > ERROR: "hns_roce_bitmap_alloc_range" > [drivers/infiniband/hw/hns/hns_roce_qp.ko] undefined! > ERROR: "hns_roce_db_unmap_user" [drivers/infiniband/hw/hns/hns_roce_qp.ko] > undefined! > ERROR: "hns_roce_mtr_cleanup" [drivers/infiniband/hw/hns/hns_roce_qp.ko] > undefined! > ERROR: "hns_roce_get_kmem_bufs" [drivers/infiniband/hw/hns/hns_roce_qp.ko] > undefined! > ERROR: "hns_roce_buf_alloc" [drivers/infiniband/hw/hns/hns_roce_qp.ko] > undefined! > ERROR: "hns_roce_db_map_user" [drivers/infiniband/hw/hns/hns_roce_qp.ko] > undefined! > ERROR: "hns_roce_free_buf_list" [drivers/infiniband/hw/hns/hns_roce_qp.ko] > undefined! > ERROR: "hns_roce_table_get" [drivers/infiniband/hw/hns/hns_roce_qp.ko] > undefined! > ERROR: "hns_roce_mtr_attach" [drivers/infiniband/hw/hns/hns_roce_qp.ko] > undefined! > ERROR: "hns_roce_mtr_init" [drivers/infiniband/hw/hns/hns_roce_qp.ko] > undefined! > ERROR: "hns_roce_hem_list_calc_root_ba" > [drivers/infiniband/hw/hns/hns_roce_qp.ko] undefined! > ERROR: "hns_roce_get_umem_bufs" [drivers/infiniband/hw/hns/hns_roce_qp.ko] > undefined! > ERROR: "hns_roce_alloc_buf_list" [drivers/infiniband/hw/hns/hns_roce_qp.ko] > undefined! > ERROR: "hns_roce_table_put" [drivers/infiniband/hw/hns/hns_roce_qp.ko] > undefined! > ERROR: "hns_roce_init_buf_region"
linux-next: build failure after merge of the rdma tree
Hi all, After merging the rdma tree, today's linux-next build (x86_64 allmodconfig) failed like this: WARNING: modpost: missing MODULE_LICENSE() in drivers/infiniband/hw/hns/hns_roce_ah.o see include/linux/module.h for more information WARNING: modpost: missing MODULE_LICENSE() in drivers/infiniband/hw/hns/hns_roce_alloc.o see include/linux/module.h for more information WARNING: modpost: missing MODULE_LICENSE() in drivers/infiniband/hw/hns/hns_roce_cmd.o see include/linux/module.h for more information WARNING: modpost: missing MODULE_LICENSE() in drivers/infiniband/hw/hns/hns_roce_cq.o see include/linux/module.h for more information WARNING: modpost: missing MODULE_LICENSE() in drivers/infiniband/hw/hns/hns_roce_db.o see include/linux/module.h for more information WARNING: modpost: missing MODULE_LICENSE() in drivers/infiniband/hw/hns/hns_roce_hem.o see include/linux/module.h for more information WARNING: modpost: missing MODULE_LICENSE() in drivers/infiniband/hw/hns/hns_roce_mr.o see include/linux/module.h for more information WARNING: modpost: missing MODULE_LICENSE() in drivers/infiniband/hw/hns/hns_roce_pd.o see include/linux/module.h for more information WARNING: modpost: missing MODULE_LICENSE() in drivers/infiniband/hw/hns/hns_roce_qp.o see include/linux/module.h for more information WARNING: modpost: missing MODULE_LICENSE() in drivers/infiniband/hw/hns/hns_roce_restrack.o see include/linux/module.h for more information WARNING: modpost: missing MODULE_LICENSE() in drivers/infiniband/hw/hns/hns_roce_srq.o see include/linux/module.h for more information ERROR: "hns_roce_bitmap_cleanup" [drivers/infiniband/hw/hns/hns_roce_srq.ko] undefined! ERROR: "hns_roce_bitmap_init" [drivers/infiniband/hw/hns/hns_roce_srq.ko] undefined! ERROR: "hns_roce_free_cmd_mailbox" [drivers/infiniband/hw/hns/hns_roce_srq.ko] undefined! ERROR: "hns_roce_alloc_cmd_mailbox" [drivers/infiniband/hw/hns/hns_roce_srq.ko] undefined! ERROR: "hns_roce_table_get" [drivers/infiniband/hw/hns/hns_roce_srq.ko] undefined! ERROR: "hns_roce_bitmap_alloc" [drivers/infiniband/hw/hns/hns_roce_srq.ko] undefined! ERROR: "hns_roce_table_find" [drivers/infiniband/hw/hns/hns_roce_srq.ko] undefined! ERROR: "hns_roce_ib_umem_write_mtt" [drivers/infiniband/hw/hns/hns_roce_srq.ko] undefined! ERROR: "hns_roce_mtt_cleanup" [drivers/infiniband/hw/hns/hns_roce_srq.ko] undefined! ERROR: "hns_roce_buf_write_mtt" [drivers/infiniband/hw/hns/hns_roce_srq.ko] undefined! ERROR: "hns_roce_buf_free" [drivers/infiniband/hw/hns/hns_roce_srq.ko] undefined! ERROR: "hns_roce_buf_alloc" [drivers/infiniband/hw/hns/hns_roce_srq.ko] undefined! ERROR: "hns_roce_mtt_init" [drivers/infiniband/hw/hns/hns_roce_srq.ko] undefined! ERROR: "hns_roce_bitmap_free" [drivers/infiniband/hw/hns/hns_roce_srq.ko] undefined! ERROR: "hns_roce_table_put" [drivers/infiniband/hw/hns/hns_roce_srq.ko] undefined! ERROR: "hns_roce_cmd_mbox" [drivers/infiniband/hw/hns/hns_roce_srq.ko] undefined! ERROR: "hns_roce_bitmap_cleanup" [drivers/infiniband/hw/hns/hns_roce_qp.ko] undefined! ERROR: "hns_roce_bitmap_init" [drivers/infiniband/hw/hns/hns_roce_qp.ko] undefined! ERROR: "hns_roce_buf_free" [drivers/infiniband/hw/hns/hns_roce_qp.ko] undefined! ERROR: "hns_roce_free_db" [drivers/infiniband/hw/hns/hns_roce_qp.ko] undefined! ERROR: "hns_roce_alloc_db" [drivers/infiniband/hw/hns/hns_roce_qp.ko] undefined! ERROR: "hns_roce_bitmap_free_range" [drivers/infiniband/hw/hns/hns_roce_qp.ko] undefined! ERROR: "hns_roce_bitmap_alloc_range" [drivers/infiniband/hw/hns/hns_roce_qp.ko] undefined! ERROR: "hns_roce_db_unmap_user" [drivers/infiniband/hw/hns/hns_roce_qp.ko] undefined! ERROR: "hns_roce_mtr_cleanup" [drivers/infiniband/hw/hns/hns_roce_qp.ko] undefined! ERROR: "hns_roce_get_kmem_bufs" [drivers/infiniband/hw/hns/hns_roce_qp.ko] undefined! ERROR: "hns_roce_buf_alloc" [drivers/infiniband/hw/hns/hns_roce_qp.ko] undefined! ERROR: "hns_roce_db_map_user" [drivers/infiniband/hw/hns/hns_roce_qp.ko] undefined! ERROR: "hns_roce_free_buf_list" [drivers/infiniband/hw/hns/hns_roce_qp.ko] undefined! ERROR: "hns_roce_table_get" [drivers/infiniband/hw/hns/hns_roce_qp.ko] undefined! ERROR: "hns_roce_mtr_attach" [drivers/infiniband/hw/hns/hns_roce_qp.ko] undefined! ERROR: "hns_roce_mtr_init" [drivers/infiniband/hw/hns/hns_roce_qp.ko] undefined! ERROR: "hns_roce_hem_list_calc_root_ba" [drivers/infiniband/hw/hns/hns_roce_qp.ko] undefined! ERROR: "hns_roce_get_umem_bufs" [drivers/infiniband/hw/hns/hns_roce_qp.ko] undefined! ERROR: "hns_roce_alloc_buf_list" [drivers/infiniband/hw/hns/hns_roce_qp.ko] undefined! ERROR: "hns_roce_table_put" [drivers/infiniband/hw/hns/hns_roce_qp.ko] undefined! ERROR: "hns_roce_init_buf_region" [drivers/infiniband/hw/hns/hns_roce_qp.ko] undefined! ERROR: "hns_roce_bitmap_free" [drivers/infiniband/hw/hns/hns_roce_pd.ko] undefined! ERROR: "hns_roce_bitmap_alloc" [drivers/infiniband/hw/hns/hns_roce_pd.ko] undefined! ERROR: "hns_roce_bitmap_cleanup" [drivers/
Re: linux-next: build failure after merge of the rdma tree
On Thu, Dec 6, 2018 at 7:59 AM Stephen Rothwell wrote: > > Hi Guy, > > On Wed, 5 Dec 2018 12:25:57 + "Guy Levi(SW)" wrote: > > > > > > > > Huh. So apparently every compiler that tested this patch (0-day, mine, > > > the submitters) optimized this call away because is_atomic_response() > > > always returns 0: meaning mlx5_get_atomic_laddr is never callable and > > > can be deleted entirely, including the call to mlx5_get_send_wqe. > > > > > > Not sure what compiler setup will hit this, but it is clearly wrong > > > code.. > > > > Flag -o0 ? > > No, but the kbuild tree contains a change that allows turning off of > gcc's autoinlining and the CONFIG option guarding that gets turned on > for allmodconfig builds among others. > > Masahiro, should CONFIG_NO_AUTO_INLINE maybe need to be off unless > explicitly enabled (like CONFIG_DEBUG_INFO and others)? No. If CONFIG_NO_AUTO_INLINE is turned off for compile-testing, people will not even notice a breakage, then the code will get broken here and there. You will not be able to enable it when you really want to use it. In this case, the reason is obvious. If you expect the compiler to optimize the code out, you must use 'static inline' instead of 'static'. static int is_atomic_response(struct mlx5_ib_qp *qp, uint16_t idx) { /* TBD: waiting decision */ return 0; } -- Best Regards Masahiro Yamada
Re: linux-next: build failure after merge of the rdma tree
On Thu, Dec 06, 2018 at 09:58:15AM +1100, Stephen Rothwell wrote: > Hi Guy, > > On Wed, 5 Dec 2018 12:25:57 + "Guy Levi(SW)" wrote: > > > > > > > > Huh. So apparently every compiler that tested this patch (0-day, mine, > > > the submitters) optimized this call away because is_atomic_response() > > > always returns 0: meaning mlx5_get_atomic_laddr is never callable and > > > can be deleted entirely, including the call to mlx5_get_send_wqe. > > > > > > Not sure what compiler setup will hit this, but it is clearly wrong > > > code.. > > > > Flag -o0 ? > > No, but the kbuild tree contains a change that allows turning off of > gcc's autoinlining and the CONFIG option guarding that gets turned on > for allmodconfig builds among others. > Let me turn it off to pass allmodconfig build. it is a pure debug option. > Masahiro, should CONFIG_NO_AUTO_INLINE maybe need to be off unless > explicitly enabled (like CONFIG_DEBUG_INFO and others)? > > -- > Cheers, > Stephen Rothwell -- Thanks, Changbin Du
Re: linux-next: build failure after merge of the rdma tree
Hi all, On Tue, 4 Dec 2018 09:42:59 + Leon Romanovsky wrote: > > On Tue, Dec 04, 2018 at 01:52:54AM +, Jason Gunthorpe wrote: > > On Tue, Dec 04, 2018 at 11:47:31AM +1100, Stephen Rothwell wrote: > > > > > > After merging the rdma tree, today's linux-next build (x86_64 > > > allmodconfig) failed like this: > > > > > > ERROR: "mlx5_get_send_wqe" [drivers/infiniband/hw/mlx5/mlx5_ib.ko] > > > undefined! > > > > > > Caused by commit > > > > > > 34f4c9554d8b ("IB/mlx5: Use fragmented QP's buffer for in-kernel users") > > > > > > mlx5_get_send_wqe() is still used in drivers/infiniband/hw/mlx5/cq.c > > > and declared in drivers/infiniband/hw/mlx5/mlx5_ib.h ... > > > > > > I have used the version of the rdma tree from next-20181203 for today. > > > > Huh. So apparently every compiler that tested this patch (0-day, mine, > > the submitters) optimized this call away because is_atomic_response() > > always returns 0: meaning mlx5_get_atomic_laddr is never callable and > > can be deleted entirely, including the call to mlx5_get_send_wqe. > > > > Not sure what compiler setup will hit this, but it is clearly wrong > > code.. > > > > Guy/Leon, please send a fixup.. Maybe just delete all this > > handle_atomics stuff? > > I deleted it and will wait for the results of regression prior to send the > patch. I am still getting this error. -- Cheers, Stephen Rothwell pgpaqco9qxMqt.pgp Description: OpenPGP digital signature
Re: linux-next: build failure after merge of the rdma tree
Hi Guy, On Wed, 5 Dec 2018 12:25:57 + "Guy Levi(SW)" wrote: > > > > > Huh. So apparently every compiler that tested this patch (0-day, mine, > > the submitters) optimized this call away because is_atomic_response() > > always returns 0: meaning mlx5_get_atomic_laddr is never callable and > > can be deleted entirely, including the call to mlx5_get_send_wqe. > > > > Not sure what compiler setup will hit this, but it is clearly wrong > > code.. > > Flag -o0 ? No, but the kbuild tree contains a change that allows turning off of gcc's autoinlining and the CONFIG option guarding that gets turned on for allmodconfig builds among others. Masahiro, should CONFIG_NO_AUTO_INLINE maybe need to be off unless explicitly enabled (like CONFIG_DEBUG_INFO and others)? -- Cheers, Stephen Rothwell pgpA7kiOFqiyu.pgp Description: OpenPGP digital signature
RE: linux-next: build failure after merge of the rdma tree
> > Huh. So apparently every compiler that tested this patch (0-day, mine, > the submitters) optimized this call away because is_atomic_response() > always returns 0: meaning mlx5_get_atomic_laddr is never callable and > can be deleted entirely, including the call to mlx5_get_send_wqe. > > Not sure what compiler setup will hit this, but it is clearly wrong > code.. Flag -o0 ? > > Guy/Leon, please send a fixup.. Maybe just delete all this > handle_atomics stuff? > > Thanks, > Jason
Re: linux-next: build failure after merge of the rdma tree
On Tue, Dec 04, 2018 at 01:52:54AM +, Jason Gunthorpe wrote: > On Tue, Dec 04, 2018 at 11:47:31AM +1100, Stephen Rothwell wrote: > > Hi all, > > > > After merging the rdma tree, today's linux-next build (x86_64 > > allmodconfig) failed like this: > > > > ERROR: "mlx5_get_send_wqe" [drivers/infiniband/hw/mlx5/mlx5_ib.ko] > > undefined! > > > > Caused by commit > > > > 34f4c9554d8b ("IB/mlx5: Use fragmented QP's buffer for in-kernel users") > > > > mlx5_get_send_wqe() is still used in drivers/infiniband/hw/mlx5/cq.c > > and declared in drivers/infiniband/hw/mlx5/mlx5_ib.h ... > > > > I have used the version of the rdma tree from next-20181203 for today. > > Huh. So apparently every compiler that tested this patch (0-day, mine, > the submitters) optimized this call away because is_atomic_response() > always returns 0: meaning mlx5_get_atomic_laddr is never callable and > can be deleted entirely, including the call to mlx5_get_send_wqe. > > Not sure what compiler setup will hit this, but it is clearly wrong > code.. > > Guy/Leon, please send a fixup.. Maybe just delete all this > handle_atomics stuff? I deleted it and will wait for the results of regression prior to send the patch. Thanks > > Thanks, > Jason signature.asc Description: PGP signature
Re: linux-next: build failure after merge of the rdma tree
On Tue, Dec 04, 2018 at 11:47:31AM +1100, Stephen Rothwell wrote: > Hi all, > > After merging the rdma tree, today's linux-next build (x86_64 > allmodconfig) failed like this: > > ERROR: "mlx5_get_send_wqe" [drivers/infiniband/hw/mlx5/mlx5_ib.ko] undefined! > > Caused by commit > > 34f4c9554d8b ("IB/mlx5: Use fragmented QP's buffer for in-kernel users") > > mlx5_get_send_wqe() is still used in drivers/infiniband/hw/mlx5/cq.c > and declared in drivers/infiniband/hw/mlx5/mlx5_ib.h ... > > I have used the version of the rdma tree from next-20181203 for today. Huh. So apparently every compiler that tested this patch (0-day, mine, the submitters) optimized this call away because is_atomic_response() always returns 0: meaning mlx5_get_atomic_laddr is never callable and can be deleted entirely, including the call to mlx5_get_send_wqe. Not sure what compiler setup will hit this, but it is clearly wrong code.. Guy/Leon, please send a fixup.. Maybe just delete all this handle_atomics stuff? Thanks, Jason
linux-next: build failure after merge of the rdma tree
Hi all, After merging the rdma tree, today's linux-next build (x86_64 allmodconfig) failed like this: ERROR: "mlx5_get_send_wqe" [drivers/infiniband/hw/mlx5/mlx5_ib.ko] undefined! Caused by commit 34f4c9554d8b ("IB/mlx5: Use fragmented QP's buffer for in-kernel users") mlx5_get_send_wqe() is still used in drivers/infiniband/hw/mlx5/cq.c and declared in drivers/infiniband/hw/mlx5/mlx5_ib.h ... I have used the version of the rdma tree from next-20181203 for today. -- Cheers, Stephen Rothwell pgpro9F8bJwU6.pgp Description: OpenPGP digital signature
Re: linux-next: build failure after merge of the rdma tree
On Thu, 2018-01-25 at 10:50 +0200, Leon Romanovsky wrote: > On Thu, Jan 25, 2018 at 06:22:59PM +1100, Stephen Rothwell wrote: > > Hi all, > > > > After merging the rdma tree, today's linux-next build (x86_64 > > allmodconfig) failed like this: > > > > ERROR: "init_rcu_head" [drivers/infiniband/ulp/srpt/ib_srpt.ko] undefined! > > > > Caused by commit > > > > a11253142e6d ("IB/srpt: Rework multi-channel support") > > > > I have used the rdma tree from next-20180119 for today. > > Hi Stephen, > > Please see this patch: https://patchwork.kernel.org/patch/10181845/ This has been pulled into the rdma-next area, you shouldn't have a problem with this after today. -- Doug Ledford GPG KeyID: B826A3330E572FDD Key fingerprint = AE6B 1BDA 122B 23B4 265B 1274 B826 A333 0E57 2FDD signature.asc Description: This is a digitally signed message part
Re: linux-next: build failure after merge of the rdma tree
On Thu, Jan 25, 2018 at 06:22:59PM +1100, Stephen Rothwell wrote: > Hi all, > > After merging the rdma tree, today's linux-next build (x86_64 > allmodconfig) failed like this: > > ERROR: "init_rcu_head" [drivers/infiniband/ulp/srpt/ib_srpt.ko] undefined! > > Caused by commit > > a11253142e6d ("IB/srpt: Rework multi-channel support") > > I have used the rdma tree from next-20180119 for today. Hi Stephen, Please see this patch: https://patchwork.kernel.org/patch/10181845/ Thanks > > -- > Cheers, > Stephen Rothwell signature.asc Description: PGP signature
linux-next: build failure after merge of the rdma tree
Hi all, After merging the rdma tree, today's linux-next build (x86_64 allmodconfig) failed like this: ERROR: "init_rcu_head" [drivers/infiniband/ulp/srpt/ib_srpt.ko] undefined! Caused by commit a11253142e6d ("IB/srpt: Rework multi-channel support") I have used the rdma tree from next-20180119 for today. -- Cheers, Stephen Rothwell
linux-next: build failure after merge of the rdma tree
Hi Doug, After merging the rdma tree, today's linux-next build (x86_64 allmodconfig) failed like this: drivers/infiniband/hw/hns/hns_roce_eq.c: In function 'hns_roce_init_eq_table': drivers/infiniband/hw/hns/hns_roce_eq.c:711:9: error: implicit declaration of function 'request_irq' [-Werror=implicit-function-declaration] ret = request_irq(eq_table->eq[j].irq, hns_roce_msi_x_interrupt, ^ drivers/infiniband/hw/hns/hns_roce_eq.c:726:3: error: implicit declaration of function 'free_irq' [-Werror=implicit-function-declaration] free_irq(eq_table->eq[j].irq, eq_table->eq + j); ^ Probably exposed by commit e89bf462b6be ("IB/hns: Support compile test for hns RoCE driver") But maybe caused by another commit thet modified includes so that linux/interrupt.h is not longer implictly included ... I have used the rdma tree from next-20170728 for today. -- Cheers, Stephen Rothwell
Re: linux-next: build failure after merge of the rdma tree
Hi Doug, On Thu, 20 Apr 2017 22:21:15 -0400 Doug Ledford wrote: > > I created a fix and added it to my tree. Thanks. -- Cheers, Stephen Rothwell
Re: linux-next: build failure after merge of the rdma tree
Hi Joe, On Thu, 20 Apr 2017 18:58:55 -0700 Joe Perches wrote: > > Pretty sure there were crossing commits adding PDBG() > as the original patches were written against next-20170209 > > From my tree: > > $ git log --pretty=oneline -5 747edc68212781296de30dd2b4e63711240da7a9 > 747edc68212781296de30dd2b4e63711240da7a9 cxgb4: Convert PDBG to pr_debug > d054cd530aeef452c7c252504f7d4d6ebba31ae3 cxgb4: Use more common logging style > 41a74ceecd35cf2f38e2a1a1a394c7718547deb6 cxgb3: Convert PDBG to pr_debug > 15772862930dfd2f2e10574b86c063d781976a89 cxgb3: Use more common logging style > 9f7e70ff42dbf3af7ed0699906b699c41930b265 Add linux-next specific files for > 20170209 > > $ git grep -w PDBG 747edc68212781296de30dd2b4e63711240da7a9 > $ In the rdma tree: $ git log --pretty=oneline -5 a9a42886d0b3 a9a42886d0b3b989166472b7ea59b1c157d90f9b cxgb4: Convert PDBG to pr_debug 700456bd25946ef531773d1ad2dd511e1cc4515e cxgb4: Use more common logging style b7b37ee0e137c8384c6cb3a37c4621649d5acdf6 cxgb3: Convert PDBG to pr_debug 46b2d4e8eca752003b903e68c3bec6b15fd7eba0 cxgb3: Use more common logging style cd565b4b51e5fe258d6ce9ddc167ee51f3044ba5 IB/IPoIB: Support acceleration options callbacks $ git grep -w PDBG a9a42886d0b3 a9a42886d0b3:drivers/infiniband/hw/cxgb4/cm.c: PDBG("%s snd_isn %u\n", __func__, t6req->rsvd); a9a42886d0b3:drivers/infiniband/hw/cxgb4/cm.c: PDBG("%s snd_isn %u\n", __func__, t6req6->rsvd); So these were added somewhere in Doug's tree and they need to be fixed up there. Your patches were rebased/cherrypicked/applied on to Doug's tree. Ah, the new ones come from commit 192539f4ce36 "iw_cxgb4: clean up send_connect()" but that is in v4.11-rc1 and so should would not have been in next-20170209. -- Cheers, Stephen Rothwell
Re: linux-next: build failure after merge of the rdma tree
On Thu, 2017-04-20 at 18:58 -0700, Joe Perches wrote: > On Fri, 2017-04-21 at 11:42 +1000, Stephen Rothwell wrote: > > > > Hi Doug, > > > > After merging the rdma tree, today's linux-next build (powerpc > > ppc64_defconfig) failed like this: > > > > drivers/infiniband/hw/cxgb4/cm.c: In function 'send_connect': > > drivers/infiniband/hw/cxgb4/cm.c:830:5: error: implicit declaration > > of function 'PDBG' [-Werror=implicit-function-declaration] > > PDBG("%s snd_isn %u\n", __func__, t6req->rsvd); > > ^ > > > > Caused by commit > > > > a9a42886d0b3 ("cxgb4: Convert PDBG to pr_debug") > > > > I have used the rdma tree from next-20170420 for today. > > > > There was another PDBG() missed in that file as well. > > Pretty sure there were crossing commits adding PDBG() > as the original patches were written against next-20170209 > > From my tree: > > $ git log --pretty=oneline -5 > 747edc68212781296de30dd2b4e63711240da7a9 > 747edc68212781296de30dd2b4e63711240da7a9 cxgb4: Convert PDBG to > pr_debug > d054cd530aeef452c7c252504f7d4d6ebba31ae3 cxgb4: Use more common > logging style > 41a74ceecd35cf2f38e2a1a1a394c7718547deb6 cxgb3: Convert PDBG to > pr_debug > 15772862930dfd2f2e10574b86c063d781976a89 cxgb3: Use more common > logging style > 9f7e70ff42dbf3af7ed0699906b699c41930b265 Add linux-next specific > files for 20170209 > > $ git grep -w PDBG 747edc68212781296de30dd2b4e63711240da7a9 > $ I created a fix and added it to my tree. -- Doug Ledford GPG KeyID: B826A3330E572FDD Key fingerprint = AE6B 1BDA 122B 23B4 265B 1274 B826 A333 0E57 2FDD
Re: linux-next: build failure after merge of the rdma tree
On Fri, 2017-04-21 at 11:42 +1000, Stephen Rothwell wrote: > Hi Doug, > > After merging the rdma tree, today's linux-next build (powerpc > ppc64_defconfig) failed like this: > > drivers/infiniband/hw/cxgb4/cm.c: In function 'send_connect': > drivers/infiniband/hw/cxgb4/cm.c:830:5: error: implicit declaration of > function 'PDBG' [-Werror=implicit-function-declaration] > PDBG("%s snd_isn %u\n", __func__, t6req->rsvd); > ^ > > Caused by commit > > a9a42886d0b3 ("cxgb4: Convert PDBG to pr_debug") > > I have used the rdma tree from next-20170420 for today. > > There was another PDBG() missed in that file as well. Pretty sure there were crossing commits adding PDBG() as the original patches were written against next-20170209 >From my tree: $ git log --pretty=oneline -5 747edc68212781296de30dd2b4e63711240da7a9 747edc68212781296de30dd2b4e63711240da7a9 cxgb4: Convert PDBG to pr_debug d054cd530aeef452c7c252504f7d4d6ebba31ae3 cxgb4: Use more common logging style 41a74ceecd35cf2f38e2a1a1a394c7718547deb6 cxgb3: Convert PDBG to pr_debug 15772862930dfd2f2e10574b86c063d781976a89 cxgb3: Use more common logging style 9f7e70ff42dbf3af7ed0699906b699c41930b265 Add linux-next specific files for 20170209 $ git grep -w PDBG 747edc68212781296de30dd2b4e63711240da7a9 $
linux-next: build failure after merge of the rdma tree
Hi Doug, After merging the rdma tree, today's linux-next build (powerpc ppc64_defconfig) failed like this: drivers/infiniband/hw/cxgb4/cm.c: In function 'send_connect': drivers/infiniband/hw/cxgb4/cm.c:830:5: error: implicit declaration of function 'PDBG' [-Werror=implicit-function-declaration] PDBG("%s snd_isn %u\n", __func__, t6req->rsvd); ^ Caused by commit a9a42886d0b3 ("cxgb4: Convert PDBG to pr_debug") I have used the rdma tree from next-20170420 for today. There was another PDBG() missed in that file as well. -- Cheers, Stephen Rothwell
Re: linux-next: build failure after merge of the rdma tree
On Wed, Feb 15, 2017 at 6:35 AM, Doug Ledford wrote: >> From: Stephen Rothwell >> Date: Wed, 15 Feb 2017 11:23:25 +1100 >> Subject: [PATCH] RDMA/bnxt_re: fix for "bnxt_en: Update to firmware >> interface spec 1.7.0." >> >> Signed-off-by: Stephen Rothwell > > Thanks Stephen. I had been forewarned about this by Selvin and I > instructed him to send me a fixup patch that would resolve the issue. I > would apply it to my tree before merging with Linus. He just hadn't > time to send it yet. Your patch is sufficient as well, so I may just > pull it in. Thanks again. Thanks Stephen and Doug for taking care of this. Acked-by: Selvin Xavier
Re: linux-next: build failure after merge of the rdma tree
On 2/14/2017 7:30 PM, Stephen Rothwell wrote: > Hi Doug, > > After merging the rdma tree, today's linux-next build (x86_64 > allmodconfig) failed like this: > > drivers/infiniband/hw/bnxt_re/main.c: In function 'bnxt_re_net_ring_free': > drivers/infiniband/hw/bnxt_re/main.c:231:18: error: > 'RING_ALLOC_REQ_RING_TYPE_CMPL' undeclared (first use in this function) > req.ring_type = RING_ALLOC_REQ_RING_TYPE_CMPL; > ^ > drivers/infiniband/hw/bnxt_re/main.c:231:18: note: each undeclared identifier > is reported only once for each function it appears in > drivers/infiniband/hw/bnxt_re/main.c: In function 'bnxt_re_net_ring_alloc': > drivers/infiniband/hw/bnxt_re/main.c:271:18: error: > 'RING_ALLOC_REQ_RING_TYPE_CMPL' undeclared (first use in this function) > req.ring_type = RING_ALLOC_REQ_RING_TYPE_CMPL; > ^ > > Caused by commit > > 1ac5a4047975 ("RDMA/bnxt_re: Add bnxt_re RoCE driver") > > interacting with commit > > bac9a7e0f5d6 ("bnxt_en: Update to firmware interface spec 1.7.0.") > > from the net-next tree. > > I added this merge fix patch: > > From: Stephen Rothwell > Date: Wed, 15 Feb 2017 11:23:25 +1100 > Subject: [PATCH] RDMA/bnxt_re: fix for "bnxt_en: Update to firmware interface > spec 1.7.0." > > Signed-off-by: Stephen Rothwell Thanks Stephen. I had been forewarned about this by Selvin and I instructed him to send me a fixup patch that would resolve the issue. I would apply it to my tree before merging with Linus. He just hadn't time to send it yet. Your patch is sufficient as well, so I may just pull it in. Thanks again. > --- > drivers/infiniband/hw/bnxt_re/main.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/infiniband/hw/bnxt_re/main.c > b/drivers/infiniband/hw/bnxt_re/main.c > index 6b9f1178050f..bd452a92b386 100644 > --- a/drivers/infiniband/hw/bnxt_re/main.c > +++ b/drivers/infiniband/hw/bnxt_re/main.c > @@ -228,7 +228,7 @@ static int bnxt_re_net_ring_free(struct bnxt_re_dev > *rdev, u16 fw_ring_id, > } > > bnxt_re_init_hwrm_hdr(rdev, (void *)&req, HWRM_RING_FREE, -1, -1); > - req.ring_type = RING_ALLOC_REQ_RING_TYPE_CMPL; > + req.ring_type = RING_ALLOC_REQ_RING_TYPE_L2_CMPL; > req.ring_id = cpu_to_le16(fw_ring_id); > bnxt_re_fill_fw_msg(&fw_msg, (void *)&req, sizeof(req), (void *)&resp, > sizeof(resp), DFLT_HWRM_CMD_TIMEOUT); > @@ -268,7 +268,7 @@ static int bnxt_re_net_ring_alloc(struct bnxt_re_dev > *rdev, dma_addr_t *dma_arr, > /* Association of ring index with doorbell index and MSIX number */ > req.logical_id = cpu_to_le16(map_index); > req.length = cpu_to_le32(ring_mask + 1); > - req.ring_type = RING_ALLOC_REQ_RING_TYPE_CMPL; > + req.ring_type = RING_ALLOC_REQ_RING_TYPE_L2_CMPL; > req.int_mode = RING_ALLOC_REQ_INT_MODE_MSIX; > bnxt_re_fill_fw_msg(&fw_msg, (void *)&req, sizeof(req), (void *)&resp, > sizeof(resp), DFLT_HWRM_CMD_TIMEOUT); > -- Doug Ledford GPG Key ID: B826A3330E572FDD Key fingerprint = AE6B 1BDA 122B 23B4 265B 1274 B826 A333 0E57 2FDD signature.asc Description: OpenPGP digital signature
linux-next: build failure after merge of the rdma tree
Hi Doug, After merging the rdma tree, today's linux-next build (x86_64 allmodconfig) failed like this: drivers/infiniband/hw/bnxt_re/main.c: In function 'bnxt_re_net_ring_free': drivers/infiniband/hw/bnxt_re/main.c:231:18: error: 'RING_ALLOC_REQ_RING_TYPE_CMPL' undeclared (first use in this function) req.ring_type = RING_ALLOC_REQ_RING_TYPE_CMPL; ^ drivers/infiniband/hw/bnxt_re/main.c:231:18: note: each undeclared identifier is reported only once for each function it appears in drivers/infiniband/hw/bnxt_re/main.c: In function 'bnxt_re_net_ring_alloc': drivers/infiniband/hw/bnxt_re/main.c:271:18: error: 'RING_ALLOC_REQ_RING_TYPE_CMPL' undeclared (first use in this function) req.ring_type = RING_ALLOC_REQ_RING_TYPE_CMPL; ^ Caused by commit 1ac5a4047975 ("RDMA/bnxt_re: Add bnxt_re RoCE driver") interacting with commit bac9a7e0f5d6 ("bnxt_en: Update to firmware interface spec 1.7.0.") from the net-next tree. I added this merge fix patch: From: Stephen Rothwell Date: Wed, 15 Feb 2017 11:23:25 +1100 Subject: [PATCH] RDMA/bnxt_re: fix for "bnxt_en: Update to firmware interface spec 1.7.0." Signed-off-by: Stephen Rothwell --- drivers/infiniband/hw/bnxt_re/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/infiniband/hw/bnxt_re/main.c b/drivers/infiniband/hw/bnxt_re/main.c index 6b9f1178050f..bd452a92b386 100644 --- a/drivers/infiniband/hw/bnxt_re/main.c +++ b/drivers/infiniband/hw/bnxt_re/main.c @@ -228,7 +228,7 @@ static int bnxt_re_net_ring_free(struct bnxt_re_dev *rdev, u16 fw_ring_id, } bnxt_re_init_hwrm_hdr(rdev, (void *)&req, HWRM_RING_FREE, -1, -1); - req.ring_type = RING_ALLOC_REQ_RING_TYPE_CMPL; + req.ring_type = RING_ALLOC_REQ_RING_TYPE_L2_CMPL; req.ring_id = cpu_to_le16(fw_ring_id); bnxt_re_fill_fw_msg(&fw_msg, (void *)&req, sizeof(req), (void *)&resp, sizeof(resp), DFLT_HWRM_CMD_TIMEOUT); @@ -268,7 +268,7 @@ static int bnxt_re_net_ring_alloc(struct bnxt_re_dev *rdev, dma_addr_t *dma_arr, /* Association of ring index with doorbell index and MSIX number */ req.logical_id = cpu_to_le16(map_index); req.length = cpu_to_le32(ring_mask + 1); - req.ring_type = RING_ALLOC_REQ_RING_TYPE_CMPL; + req.ring_type = RING_ALLOC_REQ_RING_TYPE_L2_CMPL; req.int_mode = RING_ALLOC_REQ_INT_MODE_MSIX; bnxt_re_fill_fw_msg(&fw_msg, (void *)&req, sizeof(req), (void *)&resp, sizeof(resp), DFLT_HWRM_CMD_TIMEOUT); -- 2.10.2 -- Cheers, Stephen Rothwell
Re: linux-next: build failure after merge of the rdma tree
Hi Doug, On Wed, 28 Sep 2016 11:00:11 -0400 Doug Ledford wrote: > > That doesn't seem like a particularly good thing to put in. Wouldn't > you end up just reverting it later when they fix lustre? And are you > going to revert the revert when it breaks again and revert the revert of > the revert when it's fixed again? That just seems a lot of churn. I > thought it was generally accepted that things in staging might or might > not work and if they don't, we don't care? Am I wrong on that? The allmodconfig build needs to work. Linus does an allmodconfig build as part of his testing ... Part of the fix patch should reenable building of the currently broken code. -- Cheers, Stephen Rothwell
Re: linux-next: build failure after merge of the rdma tree
On 9/28/16 11:23 AM, Greg KH wrote: > On Wed, Sep 28, 2016 at 11:00:11AM -0400, Doug Ledford wrote: >> On 9/27/16 9:43 PM, Stephen Rothwell wrote: >>> Hi Stephen, >>> >>> On Tue, 27 Sep 2016 11:23:34 +1000 Stephen Rothwell >>> wrote: Hi Doug, After merging the rdma tree, today's linux-next build (x86_64 allmodconfig) failed like this: drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c: In function 'kiblnd_hdev_setup_mrs': drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c:2317:7: error: implicit declaration of function 'ib_get_dma_mr' [-Werror=implicit-function-declaration] mr = ib_get_dma_mr(hdev->ibh_pd, acflags); ^ drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c:2317:5: warning: assignment makes pointer from integer without a cast [-Wint-conversion] mr = ib_get_dma_mr(hdev->ibh_pd, acflags); ^ Caused by commit 5ef990f06bd7 ("IB/core: remove ib_get_dma_mr") I have used the rdma tree from next-20160923 for today. >>> >>> As pointed out by Christoph, I should have just disabled the driver in >>> staging, so today I just applied the patch below. Doug, that should >>> probably be applied to the rdma tree so that you don't break Linus' >>> tree when it gets merged. >>> >>> From: Stephen Rothwell >>> Date: Wed, 28 Sep 2016 11:35:28 +1000 >>> Subject: [PATCH] starging/lustre: disable LNET infiniband support >>> >>> Commit 5ef990f06bd7 ("IB/core: remove ib_get_dma_mr") broke the >>> lustre LNET infiniband support. Since this is in drivers/staging, >>> lets just disable it for now until ti can be fixed properly. >>> >>> Signed-off-by: Stephen Rothwell >>> --- >>> drivers/staging/lustre/lnet/Kconfig | 1 + >>> 1 file changed, 1 insertion(+) >>> >>> diff --git a/drivers/staging/lustre/lnet/Kconfig >>> b/drivers/staging/lustre/lnet/Kconfig >>> index 2b5930150cda..13b43278a38d 100644 >>> --- a/drivers/staging/lustre/lnet/Kconfig >>> +++ b/drivers/staging/lustre/lnet/Kconfig >>> @@ -35,6 +35,7 @@ config LNET_SELFTEST >>> config LNET_XPRT_IB >>> tristate "LNET infiniband support" >>> depends on LNET && INFINIBAND && INFINIBAND_ADDR_TRANS >>> + depends on BROKEN >>> default LNET && INFINIBAND >>> help >>> This option allows the LNET users to use infiniband as an >>> >> >> That doesn't seem like a particularly good thing to put in. Wouldn't >> you end up just reverting it later when they fix lustre? And are you >> going to revert the revert when it breaks again and revert the revert of >> the revert when it's fixed again? > > Yup :) > > Well, in reality just keep adding and removing the line without dealing > with reverts, much simpler... > >> That just seems a lot of churn. I >> thought it was generally accepted that things in staging might or might >> not work and if they don't, we don't care? Am I wrong on that? > > Nope, you are not wrong, but it is nice to not break some people's > builds if it's possible. Okie dokie, got it. -- Doug Ledford GPG Key ID: 0E572FDD Red Hat, Inc. 100 E. Davie St Raleigh, NC 27601 USA signature.asc Description: OpenPGP digital signature
Re: linux-next: build failure after merge of the rdma tree
On Wed, Sep 28, 2016 at 11:00:11AM -0400, Doug Ledford wrote: > On 9/27/16 9:43 PM, Stephen Rothwell wrote: > > Hi Stephen, > > > > On Tue, 27 Sep 2016 11:23:34 +1000 Stephen Rothwell > > wrote: > >> > >> Hi Doug, > >> > >> After merging the rdma tree, today's linux-next build (x86_64 > >> allmodconfig) failed like this: > >> > >> drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c: In function > >> 'kiblnd_hdev_setup_mrs': > >> drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c:2317:7: error: > >> implicit declaration of function 'ib_get_dma_mr' > >> [-Werror=implicit-function-declaration] > >> mr = ib_get_dma_mr(hdev->ibh_pd, acflags); > >>^ > >> drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c:2317:5: warning: > >> assignment makes pointer from integer without a cast [-Wint-conversion] > >> mr = ib_get_dma_mr(hdev->ibh_pd, acflags); > >> ^ > >> > >> Caused by commit > >> > >> 5ef990f06bd7 ("IB/core: remove ib_get_dma_mr") > >> > >> I have used the rdma tree from next-20160923 for today. > > > > As pointed out by Christoph, I should have just disabled the driver in > > staging, so today I just applied the patch below. Doug, that should > > probably be applied to the rdma tree so that you don't break Linus' > > tree when it gets merged. > > > > From: Stephen Rothwell > > Date: Wed, 28 Sep 2016 11:35:28 +1000 > > Subject: [PATCH] starging/lustre: disable LNET infiniband support > > > > Commit 5ef990f06bd7 ("IB/core: remove ib_get_dma_mr") broke the > > lustre LNET infiniband support. Since this is in drivers/staging, > > lets just disable it for now until ti can be fixed properly. > > > > Signed-off-by: Stephen Rothwell > > --- > > drivers/staging/lustre/lnet/Kconfig | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/drivers/staging/lustre/lnet/Kconfig > > b/drivers/staging/lustre/lnet/Kconfig > > index 2b5930150cda..13b43278a38d 100644 > > --- a/drivers/staging/lustre/lnet/Kconfig > > +++ b/drivers/staging/lustre/lnet/Kconfig > > @@ -35,6 +35,7 @@ config LNET_SELFTEST > > config LNET_XPRT_IB > > tristate "LNET infiniband support" > > depends on LNET && INFINIBAND && INFINIBAND_ADDR_TRANS > > + depends on BROKEN > > default LNET && INFINIBAND > > help > > This option allows the LNET users to use infiniband as an > > > > That doesn't seem like a particularly good thing to put in. Wouldn't > you end up just reverting it later when they fix lustre? And are you > going to revert the revert when it breaks again and revert the revert of > the revert when it's fixed again? Yup :) Well, in reality just keep adding and removing the line without dealing with reverts, much simpler... > That just seems a lot of churn. I > thought it was generally accepted that things in staging might or might > not work and if they don't, we don't care? Am I wrong on that? Nope, you are not wrong, but it is nice to not break some people's builds if it's possible. thanks, greg k-h
Re: linux-next: build failure after merge of the rdma tree
On 9/27/16 9:43 PM, Stephen Rothwell wrote: > Hi Stephen, > > On Tue, 27 Sep 2016 11:23:34 +1000 Stephen Rothwell > wrote: >> >> Hi Doug, >> >> After merging the rdma tree, today's linux-next build (x86_64 >> allmodconfig) failed like this: >> >> drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c: In function >> 'kiblnd_hdev_setup_mrs': >> drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c:2317:7: error: implicit >> declaration of function 'ib_get_dma_mr' >> [-Werror=implicit-function-declaration] >> mr = ib_get_dma_mr(hdev->ibh_pd, acflags); >>^ >> drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c:2317:5: warning: >> assignment makes pointer from integer without a cast [-Wint-conversion] >> mr = ib_get_dma_mr(hdev->ibh_pd, acflags); >> ^ >> >> Caused by commit >> >> 5ef990f06bd7 ("IB/core: remove ib_get_dma_mr") >> >> I have used the rdma tree from next-20160923 for today. > > As pointed out by Christoph, I should have just disabled the driver in > staging, so today I just applied the patch below. Doug, that should > probably be applied to the rdma tree so that you don't break Linus' > tree when it gets merged. > > From: Stephen Rothwell > Date: Wed, 28 Sep 2016 11:35:28 +1000 > Subject: [PATCH] starging/lustre: disable LNET infiniband support > > Commit 5ef990f06bd7 ("IB/core: remove ib_get_dma_mr") broke the > lustre LNET infiniband support. Since this is in drivers/staging, > lets just disable it for now until ti can be fixed properly. > > Signed-off-by: Stephen Rothwell > --- > drivers/staging/lustre/lnet/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/staging/lustre/lnet/Kconfig > b/drivers/staging/lustre/lnet/Kconfig > index 2b5930150cda..13b43278a38d 100644 > --- a/drivers/staging/lustre/lnet/Kconfig > +++ b/drivers/staging/lustre/lnet/Kconfig > @@ -35,6 +35,7 @@ config LNET_SELFTEST > config LNET_XPRT_IB > tristate "LNET infiniband support" > depends on LNET && INFINIBAND && INFINIBAND_ADDR_TRANS > + depends on BROKEN > default LNET && INFINIBAND > help > This option allows the LNET users to use infiniband as an > That doesn't seem like a particularly good thing to put in. Wouldn't you end up just reverting it later when they fix lustre? And are you going to revert the revert when it breaks again and revert the revert of the revert when it's fixed again? That just seems a lot of churn. I thought it was generally accepted that things in staging might or might not work and if they don't, we don't care? Am I wrong on that? -- Doug Ledford GPG Key ID: 0E572FDD Red Hat, Inc. 100 E. Davie St Raleigh, NC 27601 USA signature.asc Description: OpenPGP digital signature
Re: linux-next: build failure after merge of the rdma tree
Hi Stephen, On Tue, 27 Sep 2016 11:23:34 +1000 Stephen Rothwell wrote: > > Hi Doug, > > After merging the rdma tree, today's linux-next build (x86_64 > allmodconfig) failed like this: > > drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c: In function > 'kiblnd_hdev_setup_mrs': > drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c:2317:7: error: implicit > declaration of function 'ib_get_dma_mr' > [-Werror=implicit-function-declaration] > mr = ib_get_dma_mr(hdev->ibh_pd, acflags); >^ > drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c:2317:5: warning: > assignment makes pointer from integer without a cast [-Wint-conversion] > mr = ib_get_dma_mr(hdev->ibh_pd, acflags); > ^ > > Caused by commit > > 5ef990f06bd7 ("IB/core: remove ib_get_dma_mr") > > I have used the rdma tree from next-20160923 for today. As pointed out by Christoph, I should have just disabled the driver in staging, so today I just applied the patch below. Doug, that should probably be applied to the rdma tree so that you don't break Linus' tree when it gets merged. From: Stephen Rothwell Date: Wed, 28 Sep 2016 11:35:28 +1000 Subject: [PATCH] starging/lustre: disable LNET infiniband support Commit 5ef990f06bd7 ("IB/core: remove ib_get_dma_mr") broke the lustre LNET infiniband support. Since this is in drivers/staging, lets just disable it for now until ti can be fixed properly. Signed-off-by: Stephen Rothwell --- drivers/staging/lustre/lnet/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/staging/lustre/lnet/Kconfig b/drivers/staging/lustre/lnet/Kconfig index 2b5930150cda..13b43278a38d 100644 --- a/drivers/staging/lustre/lnet/Kconfig +++ b/drivers/staging/lustre/lnet/Kconfig @@ -35,6 +35,7 @@ config LNET_SELFTEST config LNET_XPRT_IB tristate "LNET infiniband support" depends on LNET && INFINIBAND && INFINIBAND_ADDR_TRANS + depends on BROKEN default LNET && INFINIBAND help This option allows the LNET users to use infiniband as an -- 2.8.1 -- Cheers, Stephen Rothwell
Re: linux-next: build failure after merge of the rdma tree
On 9/27/16 9:39 AM, Christoph Hellwig wrote: > On Tue, Sep 27, 2016 at 03:48:20PM +1000, Stephen Rothwell wrote: >> Yeah, sorry. Note, however, that you bothered to fix up this same >> staging file in another of your patches ... > > It's generally not that I don't fix them up because I hate them, it's > just because they are doing something so incredibly stupid that it would > take forever to fix up (and something that would have been could if it > ever had been through review). For this particular case I think everyone > would be served much better if this module was simply dropped from the > tree, as there will be lots of future patches that will break it. > I don't know that I would drop them, but certainly turn them off. They can keep their driver up to date. -- Doug Ledford GPG Key ID: 0E572FDD Red Hat, Inc. 100 E. Davie St Raleigh, NC 27601 USA signature.asc Description: OpenPGP digital signature
Re: linux-next: build failure after merge of the rdma tree
On Tue, Sep 27, 2016 at 03:48:20PM +1000, Stephen Rothwell wrote: > Yeah, sorry. Note, however, that you bothered to fix up this same > staging file in another of your patches ... It's generally not that I don't fix them up because I hate them, it's just because they are doing something so incredibly stupid that it would take forever to fix up (and something that would have been could if it ever had been through review). For this particular case I think everyone would be served much better if this module was simply dropped from the tree, as there will be lots of future patches that will break it.
Re: linux-next: build failure after merge of the rdma tree
Hi Christoph, On Tue, 27 Sep 2016 07:04:15 +0200 Christoph Hellwig wrote: > > On Tue, Sep 27, 2016 at 11:23:34AM +1000, Stephen Rothwell wrote: > > Hi Doug, > > > > After merging the rdma tree, today's linux-next build (x86_64 > > allmodconfig) failed like this: > > Please just disable broken staging code like lustre for the linux-next > builds. We had that discussion before, didn't we? Yeah, sorry. Note, however, that you bothered to fix up this same staging file in another of your patches ... -- Cheers, Stephen Rothwell
Re: linux-next: build failure after merge of the rdma tree
On Tue, Sep 27, 2016 at 11:23:34AM +1000, Stephen Rothwell wrote: > Hi Doug, > > After merging the rdma tree, today's linux-next build (x86_64 > allmodconfig) failed like this: Please just disable broken staging code like lustre for the linux-next builds. We had that discussion before, didn't we?
linux-next: build failure after merge of the rdma tree
Hi Doug, After merging the rdma tree, today's linux-next build (x86_64 allmodconfig) failed like this: drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c: In function 'kiblnd_hdev_setup_mrs': drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c:2317:7: error: implicit declaration of function 'ib_get_dma_mr' [-Werror=implicit-function-declaration] mr = ib_get_dma_mr(hdev->ibh_pd, acflags); ^ drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c:2317:5: warning: assignment makes pointer from integer without a cast [-Wint-conversion] mr = ib_get_dma_mr(hdev->ibh_pd, acflags); ^ Caused by commit 5ef990f06bd7 ("IB/core: remove ib_get_dma_mr") I have used the rdma tree from next-20160923 for today. -- Cheers, Stephen Rothwell
Re: linux-next: build failure after merge of the rdma tree
Hi Doug, On Wed, 16 Mar 2016 15:02:42 -0400 Doug Ledford wrote: > > Pending an update from Intel on the i40iw driver, I have pulled it from > my for-next area. This should not be a problem with tonight's merge. Thanks. -- Cheers, Stephen Rothwell
RE: linux-next: build failure after merge of the rdma tree
Faisal is out until 3/18. We will make the changes and send a patch shortly. Thanks Herbert for the pointers. Regards. -Original Message- From: linux-next-ow...@vger.kernel.org [mailto:linux-next-ow...@vger.kernel.org] On Behalf Of Doug Ledford Sent: Wednesday, March 16, 2016 2:03 PM To: Herbert Xu ; Stephen Rothwell Cc: linux-n...@vger.kernel.org; linux-kernel@vger.kernel.org; Latif, Faisal Subject: Re: linux-next: build failure after merge of the rdma tree On 3/16/2016 2:49 AM, Herbert Xu wrote: > On Wed, Mar 16, 2016 at 12:15:38PM +1100, Stephen Rothwell wrote: >> Hi Doug, >> >> After merging the rdma tree, today's linux-next build (x86_64 >> allmodconfig) failed like this: >> >> In file included from drivers/infiniband/hw/i40iw/i40iw.h:57:0, >> from drivers/infiniband/hw/i40iw/i40iw_cm.c:63: >> drivers/infiniband/hw/i40iw/i40iw_osdep.h:175:12: warning: 'struct >> hash_desc' declared inside parameter list >> u32 length, u32 value); >> ^ >> >> And it went downhill badly after that. >> >> Caused by commit >> >> 896545098777 ("crypto: hash - Remove crypto_hash interface") >> >> from the crypto tree interacting with commits >> >> 786c6adb3a94 ("i40iw: add puda code") >> 4e9042e647ff ("i40iw: add hw and utils files") >> >> (at least) from the rdma tree. >> >> Its a bit of a pain finding these conflicts now - it would have been >> better a few weeks ago. >> >> For now, all I can do is to use the rdma tree from next-20160315 for >> today. >> >> Herbert, any hints for Doug, Faisal? > > crypto_hash is obsolete. You should be using shash if your input is > completely linear or ahash if you need SG lists. For an example of > how you can do the conversion, have a look at > > commit 69110e3cedbb8aad1c70d91ed58a9f4f0ed9eec6 > Author: Herbert Xu > Date: Sun Jan 24 21:19:52 2016 +0800 > > iscsi-target: Use shash and ahash > > Cheers, > Pending an update from Intel on the i40iw driver, I have pulled it from my for-next area. This should not be a problem with tonight's merge.
Re: linux-next: build failure after merge of the rdma tree
On 3/16/2016 2:49 AM, Herbert Xu wrote: > On Wed, Mar 16, 2016 at 12:15:38PM +1100, Stephen Rothwell wrote: >> Hi Doug, >> >> After merging the rdma tree, today's linux-next build (x86_64 >> allmodconfig) failed like this: >> >> In file included from drivers/infiniband/hw/i40iw/i40iw.h:57:0, >> from drivers/infiniband/hw/i40iw/i40iw_cm.c:63: >> drivers/infiniband/hw/i40iw/i40iw_osdep.h:175:12: warning: 'struct >> hash_desc' declared inside parameter list >> u32 length, u32 value); >> ^ >> >> And it went downhill badly after that. >> >> Caused by commit >> >> 896545098777 ("crypto: hash - Remove crypto_hash interface") >> >> from the crypto tree interacting with commits >> >> 786c6adb3a94 ("i40iw: add puda code") >> 4e9042e647ff ("i40iw: add hw and utils files") >> >> (at least) from the rdma tree. >> >> Its a bit of a pain finding these conflicts now - it would have been >> better a few weeks ago. >> >> For now, all I can do is to use the rdma tree from next-20160315 for >> today. >> >> Herbert, any hints for Doug, Faisal? > > crypto_hash is obsolete. You should be using shash if your input > is completely linear or ahash if you need SG lists. For an example > of how you can do the conversion, have a look at > > commit 69110e3cedbb8aad1c70d91ed58a9f4f0ed9eec6 > Author: Herbert Xu > Date: Sun Jan 24 21:19:52 2016 +0800 > > iscsi-target: Use shash and ahash > > Cheers, > Pending an update from Intel on the i40iw driver, I have pulled it from my for-next area. This should not be a problem with tonight's merge. signature.asc Description: OpenPGP digital signature
Re: linux-next: build failure after merge of the rdma tree
On Wed, Mar 16, 2016 at 12:15:38PM +1100, Stephen Rothwell wrote: > Hi Doug, > > After merging the rdma tree, today's linux-next build (x86_64 > allmodconfig) failed like this: > > In file included from drivers/infiniband/hw/i40iw/i40iw.h:57:0, > from drivers/infiniband/hw/i40iw/i40iw_cm.c:63: > drivers/infiniband/hw/i40iw/i40iw_osdep.h:175:12: warning: 'struct hash_desc' > declared inside parameter list > u32 length, u32 value); > ^ > > And it went downhill badly after that. > > Caused by commit > > 896545098777 ("crypto: hash - Remove crypto_hash interface") > > from the crypto tree interacting with commits > > 786c6adb3a94 ("i40iw: add puda code") > 4e9042e647ff ("i40iw: add hw and utils files") > > (at least) from the rdma tree. > > Its a bit of a pain finding these conflicts now - it would have been > better a few weeks ago. > > For now, all I can do is to use the rdma tree from next-20160315 for > today. > > Herbert, any hints for Doug, Faisal? crypto_hash is obsolete. You should be using shash if your input is completely linear or ahash if you need SG lists. For an example of how you can do the conversion, have a look at commit 69110e3cedbb8aad1c70d91ed58a9f4f0ed9eec6 Author: Herbert Xu Date: Sun Jan 24 21:19:52 2016 +0800 iscsi-target: Use shash and ahash Cheers, -- Email: Herbert Xu Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
linux-next: build failure after merge of the rdma tree
Hi Doug, After merging the rdma tree, today's linux-next build (x86_64 allmodconfig) failed like this: In file included from drivers/infiniband/hw/i40iw/i40iw.h:57:0, from drivers/infiniband/hw/i40iw/i40iw_cm.c:63: drivers/infiniband/hw/i40iw/i40iw_osdep.h:175:12: warning: 'struct hash_desc' declared inside parameter list u32 length, u32 value); ^ And it went downhill badly after that. Caused by commit 896545098777 ("crypto: hash - Remove crypto_hash interface") from the crypto tree interacting with commits 786c6adb3a94 ("i40iw: add puda code") 4e9042e647ff ("i40iw: add hw and utils files") (at least) from the rdma tree. Its a bit of a pain finding these conflicts now - it would have been better a few weeks ago. For now, all I can do is to use the rdma tree from next-20160315 for today. Herbert, any hints for Doug, Faisal? -- Cheers, Stephen Rothwell