public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: Guenter Roeck <linux@roeck-us.net>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>,
	linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org
Subject: Re: [PATCH v12 00/21] Re-introduce h8300 architecture
Date: Mon, 11 May 2015 21:04:30 +0200	[thread overview]
Message-ID: <16018199.XO2Ye1J7R2@wuerfel> (raw)
In-Reply-To: <20150511175027.GA31125@roeck-us.net>

On Monday 11 May 2015 10:50:27 Guenter Roeck wrote:
> On Mon, May 11, 2015 at 03:26:19PM +0900, Yoshinori Sato wrote:
> > Changes for v12
> > - IRQ chip convert to OF
> > - dts cleanup
> > - some headers use generic
> > - rebase to v4.1-rc3
> > 
> Configurations in arch/h8300/configs shtill build ok.
> 
> make allmodoconfig, after fixing the spi build error, results in
> 
> ERROR: "csum_partial_copy_nocheck" [net/ipv6/ipv6.ko] undefined!
> ERROR: "ip_compute_csum" [net/ipv6/ip6_gre.ko] undefined!
> ERROR: "ip_fast_csum" [net/ipv4/xfrm4_mode_beet.ko] undefined!
> ERROR: "ip_compute_csum" [net/bridge/bridge.ko] undefined!
> ERROR: "ip_fast_csum" [net/bridge/bridge.ko] undefined!
> ERROR: "ip_fast_csum" [net/bridge/br_netfilter.ko] undefined!
> ERROR: "ip_fast_csum" [net/atm/mpoa.ko] undefined!
> ERROR: "__ucmpdi2" [fs/btrfs/btrfs.ko] undefined!
> ERROR: "ip_compute_csum" [drivers/scsi/scsi_debug.ko] undefined!
> ERROR: "ip_fast_csum" [drivers/net/slip/slhc.ko] undefined!
> ERROR: "__ucmpdi2" [drivers/md/bcache/bcache.ko] undefined!
> ERROR: "__ucmpdi2" [drivers/iio/imu/inv_mpu6050/inv-mpu6050.ko] undefined!
> 
> csum_partial_copy_nocheck, ip_compute_csum, and ip_fast_csum need to be exported
> from arch/h8300/lib/checksum.c.

Interesting. From what I can see, the  arch/h8300/lib/checksum.c file
contains a completely generic implementation of the IP checksum code.
That should not be necessary at all, and is more likely to lead to
subtle errors like the one you see here.

It would be better to do one of two things:

a) use the code from lib/checksum.c that is known to work well, and that
   contains all the necessary exports. It seems that the h8300 is
   almost an except copy of the generic code, it just misses a few
   improvements that were done already in the kernel.

b) provide an optimized implementation written in assembly where necessary.
   This can provide a significant performance improvement for TCP/IP
   networking.

> No idea what to do about the missing __ucmpdi2
> symbol, or what causes it.

This is a libgcc symbol provided by arch/h8300/lib/ucmpdi2.c in patch
15. The other similar functions are written in assembly and exported
from arch/h8300/kernel/h8300_ksyms.c, while this one is written in C
and missing the export. It should be added in the file that defines
the function.

	Arnd

  reply	other threads:[~2015-05-11 19:05 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-11  6:26 [PATCH v12 00/21] Re-introduce h8300 architecture Yoshinori Sato
2015-05-11  6:26 ` [PATCH v12 01/21] MAINTAINERS: Add H8/300 entry Yoshinori Sato
2015-05-11  6:26 ` [PATCH v12 02/21] mksysmap: Add h8300 local symbol pattern Yoshinori Sato
2015-05-11  6:26 ` [PATCH v12 03/21] Add ELF machine Yoshinori Sato
2015-05-11  6:26 ` [PATCH v12 04/21] sh-sci: Add h8300 SCI Yoshinori Sato
2015-05-11  6:26 ` [PATCH v12 05/21] asm-generic: Add common asm-offsets.h Yoshinori Sato
2015-05-11  6:26 ` [PATCH v12 06/21] h8300: Assembly headers Yoshinori Sato
2015-05-11  6:26 ` [PATCH v12 07/21] h8300: UAPI headers Yoshinori Sato
2015-05-11  6:26 ` [PATCH v12 08/21] h8300: Interrupt and exceptions Yoshinori Sato
2015-05-11  6:26 ` [PATCH v12 09/21] h8300: kernel startup Yoshinori Sato
2015-05-11  6:26 ` [PATCH v12 10/21] h8300: Low level entry Yoshinori Sato
2015-05-11  6:26 ` [PATCH v12 11/21] h8300: compressed image support Yoshinori Sato
2015-05-11  6:26 ` [PATCH v12 12/21] h8300: process helpers Yoshinori Sato
2015-05-11  6:26 ` [PATCH v12 13/21] h8300: miscellaneous functions Yoshinori Sato
2015-05-11  6:26 ` [PATCH v12 14/21] h8300: Memory management Yoshinori Sato
2015-05-11  6:26 ` [PATCH v12 15/21] h8300: library functions Yoshinori Sato
2015-05-11  6:26 ` [PATCH v12 16/21] h8300: Build scripts Yoshinori Sato
2015-05-11  6:26 ` [PATCH v12 17/21] h8300: clock driver Yoshinori Sato
2015-08-08  0:43   ` Michael Turquette
2015-05-11  6:26 ` [PATCH v12 18/21] h8300: clocksource Yoshinori Sato
2015-05-11  6:26 ` [PATCH v12 19/21] h8300: IRQ chip driver Yoshinori Sato
2015-05-11  6:26 ` [PATCH v12 20/21] h8300: configs Yoshinori Sato
2015-05-11  6:26 ` [PATCH v12 21/21] h8300: devicetree source Yoshinori Sato
2015-05-11 17:50 ` [PATCH v12 00/21] Re-introduce h8300 architecture Guenter Roeck
2015-05-11 19:04   ` Arnd Bergmann [this message]
2015-05-12  6:09     ` Yoshinori Sato
2015-05-12  7:29       ` Arnd Bergmann
2015-05-12  4:53   ` Yoshinori Sato
2015-05-12 13:07     ` Guenter Roeck
2015-05-12 15:46       ` Yoshinori Sato

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=16018199.XO2Ye1J7R2@wuerfel \
    --to=arnd@arndb.de \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=ysato@users.sourceforge.jp \
    /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