Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1629221 > unrolled thread

linux-next: build failure after merge of the nvdimm tree

Started byStephen Rothwell <sfr@canb.auug.org.au>
First post2017-04-24 08:20 +0200
Last post2017-04-26 00:30 +0200
Articles 4 — 3 participants

Back to article view | Back to linux.kernel


Contents

  linux-next: build failure after merge of the nvdimm tree Stephen Rothwell <sfr@canb.auug.org.au> - 2017-04-24 08:20 +0200
    Re: linux-next: build failure after merge of the nvdimm tree Al Viro <viro@ZenIV.linux.org.uk> - 2017-04-24 10:40 +0200
      Re: linux-next: build failure after merge of the nvdimm tree Dan Williams <dan.j.williams@intel.com> - 2017-04-25 01:40 +0200
      Re: linux-next: build failure after merge of the nvdimm tree Dan Williams <dan.j.williams@intel.com> - 2017-04-26 00:30 +0200

#1629221 — linux-next: build failure after merge of the nvdimm tree

FromStephen Rothwell <sfr@canb.auug.org.au>
Date2017-04-24 08:20 +0200
Subjectlinux-next: build failure after merge of the nvdimm tree
Message-ID<tzFvP-3nE-1@gated-at.bofh.it>
Hi Dan,

After merging the nvdimm tree, today's linux-next build (x86_64
allmodconfig) failed like this:

drivers/nvdimm/x86.c: In function 'pmem_from_user':
drivers/nvdimm/x86.c:115:11: error: implicit declaration of function '__copy_from_user_nocache' [-Werror=implicit-function-declaration]
  int rc = __copy_from_user_nocache(dst, src, size);
           ^

Caused by commit

  6e704ff67315 ("uio, libnvdimm, pmem: implement cache bypass for all copy_from_iter() operations")

interacting with commit

  3f763453e6f2 ("kill __copy_from_user_nocache()")

from the vfs tree.

I have no idea why Al removed that function, so I just applied the
following fix patch for now:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Mon, 24 Apr 2017 16:03:09 +1000
Subject: [PATCH] uio, libnvdimm, pmem: implement cache bypass for all
 copy_from_iter() operations fix

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 drivers/nvdimm/x86.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/nvdimm/x86.c b/drivers/nvdimm/x86.c
index bc145d760d43..4c15cc103713 100644
--- a/drivers/nvdimm/x86.c
+++ b/drivers/nvdimm/x86.c
@@ -112,7 +112,7 @@ EXPORT_SYMBOL_GPL(arch_memcpy_to_pmem);
 static int pmem_from_user(void *dst, const void __user *src, unsigned size)
 {
 	unsigned long flushed, dest = (unsigned long) dest;
-	int rc = __copy_from_user_nocache(dst, src, size);
+	int rc = __copy_from_user(dst, src, size);
 
 	/*
 	 * On x86_64 __copy_from_user_nocache() uses non-temporal stores
-- 
2.11.0

-- 
Cheers,
Stephen Rothwell

[toc] | [next] | [standalone]


#1629299

FromAl Viro <viro@ZenIV.linux.org.uk>
Date2017-04-24 10:40 +0200
Message-ID<tzHHj-4GC-1@gated-at.bofh.it>
In reply to#1629221
On Mon, Apr 24, 2017 at 04:11:30PM +1000, Stephen Rothwell wrote:
> Hi Dan,
> 
> After merging the nvdimm tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> drivers/nvdimm/x86.c: In function 'pmem_from_user':
> drivers/nvdimm/x86.c:115:11: error: implicit declaration of function '__copy_from_user_nocache' [-Werror=implicit-function-declaration]
>   int rc = __copy_from_user_nocache(dst, src, size);
>            ^
> 
> Caused by commit
> 
>   6e704ff67315 ("uio, libnvdimm, pmem: implement cache bypass for all copy_from_iter() operations")
> 
> interacting with commit
> 
>   3f763453e6f2 ("kill __copy_from_user_nocache()")
> 
> from the vfs tree.
> 
> I have no idea why Al removed that function,

Because the entire nocache pile is messy and misguided and the fewer of
those we have, the easier it will be to untangle the damn thing.  This
particular turdlet had no users in mainline.  Unfortunately, it has
grown one in nvdimm, so we'll probably have to drop that removal for now
and hope that it won't be too painful to untangle come next cycle.

Oh, well...  Guess we'll need to resurrect memcpy_nocache() threads from
December and deal witht that mess for good.

[toc] | [prev] | [next] | [standalone]


#1630121

FromDan Williams <dan.j.williams@intel.com>
Date2017-04-25 01:40 +0200
Message-ID<tzVKi-55i-7@gated-at.bofh.it>
In reply to#1629299
On Mon, Apr 24, 2017 at 1:39 AM, Al Viro <viro@zeniv.linux.org.uk> wrote:
> On Mon, Apr 24, 2017 at 04:11:30PM +1000, Stephen Rothwell wrote:
>> Hi Dan,
>>
>> After merging the nvdimm tree, today's linux-next build (x86_64
>> allmodconfig) failed like this:
>>
>> drivers/nvdimm/x86.c: In function 'pmem_from_user':
>> drivers/nvdimm/x86.c:115:11: error: implicit declaration of function '__copy_from_user_nocache' [-Werror=implicit-function-declaration]
>>   int rc = __copy_from_user_nocache(dst, src, size);
>>            ^
>>
>> Caused by commit
>>
>>   6e704ff67315 ("uio, libnvdimm, pmem: implement cache bypass for all copy_from_iter() operations")
>>
>> interacting with commit
>>
>>   3f763453e6f2 ("kill __copy_from_user_nocache()")
>>
>> from the vfs tree.
>>
>> I have no idea why Al removed that function,
>
> Because the entire nocache pile is messy and misguided and the fewer of
> those we have, the easier it will be to untangle the damn thing.  This
> particular turdlet had no users in mainline.  Unfortunately, it has
> grown one in nvdimm, so we'll probably have to drop that removal for now
> and hope that it won't be too painful to untangle come next cycle.
>
> Oh, well...  Guess we'll need to resurrect memcpy_nocache() threads from
> December and deal witht that mess for good.

Hi Al, this conflict is hitting my attempt to "deal with that mess for good".

Can you give me your take on the sanity of the patches I cc'd you on
in the thread called "[resend PATCH v2 00/33] dax: introduce
dax_operations"

Here are some links:
[resend PATCH v2 00/33] dax: introduce dax_operations:
https://lists.01.org/pipermail/linux-nvdimm/2017-April/009711.html
[resend PATCH v2 19/33] dax, pmem: introduce 'copy_from_iter' dax
operation: https://lists.01.org/pipermail/linux-nvdimm/2017-April/009730.html
[resend PATCH v2 28/33] x86, libnvdimm, dax: stop abusing
__copy_user_nocache:
https://lists.01.org/pipermail/linux-nvdimm/2017-April/009738.html
[resend PATCH v2 29/33] uio, libnvdimm, pmem: implement cache bypass
for all copy_from_iter() operations:
https://lists.01.org/pipermail/linux-nvdimm/2017-April/009739.html

[toc] | [prev] | [next] | [standalone]


#1631032

FromDan Williams <dan.j.williams@intel.com>
Date2017-04-26 00:30 +0200
Message-ID<tAh85-29H-1@gated-at.bofh.it>
In reply to#1629299
On Mon, Apr 24, 2017 at 1:39 AM, Al Viro <viro@zeniv.linux.org.uk> wrote:
> On Mon, Apr 24, 2017 at 04:11:30PM +1000, Stephen Rothwell wrote:
>> Hi Dan,
>>
>> After merging the nvdimm tree, today's linux-next build (x86_64
>> allmodconfig) failed like this:
>>
>> drivers/nvdimm/x86.c: In function 'pmem_from_user':
>> drivers/nvdimm/x86.c:115:11: error: implicit declaration of function '__copy_from_user_nocache' [-Werror=implicit-function-declaration]
>>   int rc = __copy_from_user_nocache(dst, src, size);
>>            ^
>>
>> Caused by commit
>>
>>   6e704ff67315 ("uio, libnvdimm, pmem: implement cache bypass for all copy_from_iter() operations")
>>
>> interacting with commit
>>
>>   3f763453e6f2 ("kill __copy_from_user_nocache()")
>>
>> from the vfs tree.
>>
>> I have no idea why Al removed that function,
>
> Because the entire nocache pile is messy and misguided and the fewer of
> those we have, the easier it will be to untangle the damn thing.  This
> particular turdlet had no users in mainline.  Unfortunately, it has
> grown one in nvdimm, so we'll probably have to drop that removal for now
> and hope that it won't be too painful to untangle come next cycle.
>
> Oh, well...  Guess we'll need to resurrect memcpy_nocache() threads from
> December and deal witht that mess for good.

Al, I've kicked this new usage of __copy_from_user_nocache out of
-next and I'll rebase my pmem vs uaccess work on vfs.git/for-next.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web