Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 269985 - sys-kernel/gentoo-sources-2.6.29.* skge module doesn't handle 64-bit interrupts
Summary: sys-kernel/gentoo-sources-2.6.29.* skge module doesn't handle 64-bit interrupts
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers
URL: http://bugzilla.kernel.org/show_bug.c...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-05-15 19:53 UTC by Brian Beardall
Modified: 2009-06-18 20:14 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Brian Beardall 2009-05-15 19:53:06 UTC
When enough memory is installed to have the memory remapped to require 64-bit interrupts the skge module doesn't properly generate the packets. Data is sent out, but is often corrupt. This is a bug with gentoo-sources 2.6.29-* and possibly all other versions.

05:0c.0 Ethernet controller: Marvell Technology Group Ltd. 88E8001 Gigabit Ethernet Controller (rev 13)
	Subsystem: ASUSTeK Computer Inc. Marvell 88E8001 Gigabit Ethernet Controller (Asus)
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 32 (5750ns min, 7750ns max), Cache Line Size: 32 bytes
	Interrupt: pin A routed to IRQ 17
	Region 0: Memory at c9004000 (32-bit, non-prefetchable) [size=16K]
	Region 1: I/O ports at 9400 [size=256]
	Expansion ROM at c8080000 [disabled] [size=128K]
	Capabilities: [48] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=1 PME-
	Capabilities: [50] Vital Product Data <?>
	Kernel driver in use: skge
	Kernel modules: skge

WARNING: One or more repositories have missing repo_name entries:

	/usr/local/portage/profiles/repo_name

NOTE: Each repo_name entry should be a plain text file containing a
unique name for the repository on the first line.
Portage 2.2_rc33 (default/linux/amd64/2008.0/desktop, gcc-4.3.2, glibc-2.8_p20080602-r1, 2.6.29-gentoo-r4 x86_64)
=================================================================
System uname: Linux-2.6.29-gentoo-r4-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_4200+-with-gentoo-2.0.0
Timestamp of tree: Fri, 15 May 2009 15:30:01 +0000
app-shells/bash:     3.2_p39
dev-java/java-config: 2.1.7
dev-lang/python:     2.5.4-r2, 2.6.2
dev-util/cmake:      2.6.4
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.4.3-r2
sys-apps/sandbox:    1.9
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.29
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=k8 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/bind /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -march=k8 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="en_US.utf8"
LC_ALL="en_US.utf8"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/armagetron /usr/portage/local/layman/gnome /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow X a52 aac accessibility acl acpi aiglx alsa amd64 apache2 asf berkdb bluetooth bonobo branding browserplugin bzip2 cairo cdr cli consolekit cracklib crypt cups curl dba dbus dri dts dv dvd dvdr dvdread eds emboss encode evo exif expat fam ffmpeg firefox flac foomaticdb fortran gd gdbm gif gimp glut gmp gnome gpm gstreamer gtk gtk2 gtkhtml guile hal iconv idn imagemagick imap imlib ipv6 isdnlog java joystick jpeg jpeg2k kqemu lame lcms ldap libnotify libsamplerate lirc mad mhash midi mikmod mmx mng mono mp3 mpeg mudflap multilib mysql ncurses nls nptl nptlonly nsplugin ogg openal opengl openmp pam pcre pda pdf perl plotutils png policykit ppds pppd python qt3support quicktime readline reflection samba scanner sdl session slang snmp spamassassin speex spell spl sse sse2 ssl startup-notification svg sysfs tcltk tcpd theora threads tiff truetype unicode usb userlocales v4l v4l2 vorbis x264 xine xml xml2 xorg xpm xulrunner xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci emu10k1" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIRC_DEVICES="hauppauge" USERLAND="GNU" VIDEO_CARDS="fbdev glint i810 intel mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa vga via vmware voodoo nvidia"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Markos Chandras (RETIRED) gentoo-dev 2009-05-19 10:02:10 UTC
Is gentoo-sources-2.6.29 the first kernel with this problem? If so, did you try to use the latest git-sources (sys-kernel/git-sources-2.6.30_rc6-r3) in order to reproduce it?
Comment 2 Brian Beardall 2009-05-20 16:06:27 UTC
I have not tried the latest git sources even though I have watched for changes in the interrupt code in the driver. There are a few changes in that respect and should test it. From googling I have learned that this is a bug in basically all previous kernels but has only begun to be noticed more lately because more users are installing 4 gig or more of ram.
Comment 3 George Kadianakis (RETIRED) gentoo-dev 2009-05-20 16:25:54 UTC
(In reply to comment #2)
> From googling I have learned that this is a bug in
> basically all previous kernels but has only begun to be noticed more lately
> because more users are installing 4 gig or more of ram.
> 

Could you post the sources that you mentioned? 
Also, are there any kernel.org bug reports/mailing list threads regarding this issue that we could monitor?
Comment 4 Brian Beardall 2009-05-20 17:11:52 UTC
http://lkml.org/lkml/2006/7/3/222
http://bugzilla.kernel.org/show_bug.cgi?id=6212

The claim is that it is the motherboards problem which might be true if ASUS didn't attach the ethernet device to the board to allow 64-bit interrupts or something dumb which I'd need datasheets from both Asus, and Marvell to really know why this isn't working. All other PCI devices are working with the 64-bit interrupts and I only discovered this bug after trying to fix a wireless access point.

So this bug has been around forever. 
Comment 5 Mike Pagano gentoo-dev 2009-06-18 20:14:50 UTC
Upstream acknowledged bug with no resolution.

Workaround identified:
Forcing the iommu on is a reasonable workaround.