From: Al Viro <viro@zeniv.linux.org.uk>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Eric Dumazet <edumazet@google.com>,
kernel test robot <lkp@intel.com>,
kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
x86@kernel.org, Alexander Duyck <alexanderduyck@fb.com>,
linux-um@lists.infradead.org
Subject: Re: [tip:x86/core 1/1] arch/x86/um/../lib/csum-partial_64.c:98:12: error: implicit declaration of function 'load_unaligned_zeropad'
Date: Mon, 31 Jan 2022 02:29:06 +0000 [thread overview]
Message-ID: <YfdJcu1xE1kv55Up@zeniv-ca.linux.org.uk> (raw)
In-Reply-To: <Ycv5mF+gfGxlmmQL@zeniv-ca.linux.org.uk>
On Wed, Dec 29, 2021 at 06:00:56AM +0000, Al Viro wrote:
> On Thu, Nov 18, 2021 at 05:00:58PM +0100, Peter Zijlstra wrote:
>
> > Dear um folks, is this indeed the best solution? It's a bit sad to have
> > to add this to x86_64, but if that's the way it is...
>
> Something like this, perhaps? (absolutely untested)
[snip]
AFAICS, this (on top of current mainline) does the right thing.
commit 6692531df62d812de5d22c8bca0d90edc163aa84
Author: Al Viro <viro@zeniv.linux.org.uk>
Date: Sun Jan 30 21:25:53 2022 -0500
uml/x86: use x86 load_unaligned_zeropad()
allows, among other things, to drop !DCACHE_WORD_ACCESS mess in
x86 csum-partial_64.c
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
diff --git a/arch/um/include/asm/Kbuild b/arch/um/include/asm/Kbuild
index e5a7b552bb384..a58b67ec8119d 100644
--- a/arch/um/include/asm/Kbuild
+++ b/arch/um/include/asm/Kbuild
@@ -23,7 +23,6 @@ generic-y += softirq_stack.h
generic-y += switch_to.h
generic-y += topology.h
generic-y += trace_clock.h
-generic-y += word-at-a-time.h
generic-y += kprobes.h
generic-y += mm_hooks.h
generic-y += vga.h
diff --git a/arch/x86/lib/csum-partial_64.c b/arch/x86/lib/csum-partial_64.c
index 1f8a8f8951738..50734a23034c4 100644
--- a/arch/x86/lib/csum-partial_64.c
+++ b/arch/x86/lib/csum-partial_64.c
@@ -93,7 +93,6 @@ __wsum csum_partial(const void *buff, int len, __wsum sum)
buff += 8;
}
if (len & 7) {
-#ifdef CONFIG_DCACHE_WORD_ACCESS
unsigned int shift = (8 - (len & 7)) * 8;
unsigned long trail;
@@ -103,31 +102,6 @@ __wsum csum_partial(const void *buff, int len, __wsum sum)
"adcq $0,%[res]"
: [res] "+r" (temp64)
: [trail] "r" (trail));
-#else
- if (len & 4) {
- asm("addq %[val],%[res]\n\t"
- "adcq $0,%[res]"
- : [res] "+r" (temp64)
- : [val] "r" ((u64)*(u32 *)buff)
- : "memory");
- buff += 4;
- }
- if (len & 2) {
- asm("addq %[val],%[res]\n\t"
- "adcq $0,%[res]"
- : [res] "+r" (temp64)
- : [val] "r" ((u64)*(u16 *)buff)
- : "memory");
- buff += 2;
- }
- if (len & 1) {
- asm("addq %[val],%[res]\n\t"
- "adcq $0,%[res]"
- : [res] "+r" (temp64)
- : [val] "r" ((u64)*(u8 *)buff)
- : "memory");
- }
-#endif
}
result = add32_with_carry(temp64 >> 32, temp64 & 0xffffffff);
if (unlikely(odd)) {
diff --git a/arch/x86/um/Kconfig b/arch/x86/um/Kconfig
index 40d6a06e41c81..4eb47d3ba6250 100644
--- a/arch/x86/um/Kconfig
+++ b/arch/x86/um/Kconfig
@@ -8,6 +8,7 @@ endmenu
config UML_X86
def_bool y
+ select DCACHE_WORD_ACCESS
config 64BIT
bool "64-bit kernel" if "$(SUBARCH)" = "x86"
prev parent reply other threads:[~2022-01-31 2:30 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-17 18:45 [tip:x86/core 1/1] arch/x86/um/../lib/csum-partial_64.c:98:12: error: implicit declaration of function 'load_unaligned_zeropad' kernel test robot
2021-11-17 18:55 ` Eric Dumazet
2021-11-17 19:40 ` Eric Dumazet
2021-11-18 16:00 ` Peter Zijlstra
2021-11-18 16:26 ` Johannes Berg
2021-11-18 16:57 ` Eric Dumazet
2021-11-18 17:02 ` Eric Dumazet
2021-11-25 1:58 ` Noah Goldstein
2021-11-25 2:56 ` Eric Dumazet
2021-11-25 3:41 ` Noah Goldstein
2021-11-25 4:00 ` Eric Dumazet
2021-11-25 4:08 ` Eric Dumazet
2021-11-25 4:20 ` Eric Dumazet
2021-11-25 4:56 ` Noah Goldstein
2021-11-25 5:09 ` Noah Goldstein
2021-11-25 6:32 ` Eric Dumazet
2021-11-25 6:45 ` Eric Dumazet
2021-11-25 6:49 ` Noah Goldstein
2021-11-25 6:47 ` Noah Goldstein
2021-11-26 17:18 ` David Laight
2021-11-26 18:09 ` Eric Dumazet
2021-11-26 22:41 ` David Laight
2021-11-26 23:04 ` Noah Goldstein
2021-11-28 18:30 ` David Laight
2021-12-29 6:00 ` Al Viro
2022-01-31 2:29 ` Al Viro [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YfdJcu1xE1kv55Up@zeniv-ca.linux.org.uk \
--to=viro@zeniv.linux.org.uk \
--cc=alexanderduyck@fb.com \
--cc=edumazet@google.com \
--cc=kbuild-all@lists.01.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-um@lists.infradead.org \
--cc=lkp@intel.com \
--cc=peterz@infradead.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox