From: Wallak <wallak@free.fr>
To: Borislav Petkov <bp@alien8.de>, linux-kernel@vger.kernel.org
Subject: Re: File copy is very slow on linux-3.4.2 (or linux-3.3x) on a specific hardware: AMD FX-8150 + 990FX
Date: Tue, 12 Jun 2012 01:19:37 +0200 [thread overview]
Message-ID: <4FD67D09.9010406@free.fr> (raw)
In-Reply-To: <20120611204804.GA18967@liondog.tnic>
Borislav Petkov wrote:
> There's something very wrong with this mail
>
> On Mon, Jun 11, 2012 at 09:54:16PM +0200, wallak@free.fr wrote:
>> I've a very annoying issue on recent kernel (linux-3.4.2-SMP) with my
>> main motherboard (AMD FX-8150 + 990FX - 8 cores 4.1GHz), file copy is
>> very slow (see below). The same kernel works flawlessly on an AMD
>> E450 2 cores motherboard.
>>
>> Linux-3.2.20 works properly on this hardware.
>> hdparm -t gives good results on both kernels.
>>
>> I've no idea where this bug come from. Do you have this issue on your
>> hardware ? A patch is available ?
>>
>>
>> *linux-3.4.2
>> dd if=../in/file_8gb.tmp of=tmp.tmp bs=1024k count=100
>> 100+0 records in
>> 100+0 records out
>> 104857600 bytes (105 MB) copied, 132.884 s, 789 kB/s
>>
>>
>> *linux-3.2.20
>> dd if=../in/file_8gb.tmp of=tmp.tmp bs=1024k count=100
>> 100+0 records in
>> 100+0 records out
>> 104857600 bytes (105 MB) copied, 3.30793 s, 31.7 MB/sa
> First of all, the above shows that 3.4.2 is roughly 20 times better than
> 3.2.20.
> But even if that were so, this is a wrong test to do since once you
> run it for the first time, the 100MB land in the page cache and every
> subsequent time you run the same thing, the same 100MB will come from
> memory so no I/O at all.
Kernel 3.4.2 is 40 times slower when duplicating a file. Otherwise
hdparm -t /dev/sda is a around 120MB/s, memory cache is probably not the
main issue here.
> What are you trying to achieve actually?
>
> And, if I assume you've sent the right config below, then there are some
> major issues with it:
>
>> #
>> # Automatically generated file; DO NOT EDIT.
>> # Linux/i386 3.4.2 Kernel Configuration
>> #
>> # CONFIG_64BIT is not set
>> CONFIG_X86_32=y
>> # CONFIG_X86_64 is not set
> Why in the hell are you using 32-bit kernel on an AMD64 processor? Any
> real reason?
You're right this is a 32 bits mode kernel compiled for test
purposes on a 64 bits processor. Nevertheless the AMD E450 motherboard
uses a 64 bits processor too, and works fine with this 32 bits kernel,
without the IO issue.
>> CONFIG_X86=y
>> CONFIG_INSTRUCTION_DECODER=y
>> CONFIG_OUTPUT_FORMAT="elf32-i386"
>> CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
>> CONFIG_GENERIC_CMOS_UPDATE=y
>> CONFIG_CLOCKSOURCE_WATCHDOG=y
>> CONFIG_GENERIC_CLOCKEVENTS=y
>> CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
>> CONFIG_LOCKDEP_SUPPORT=y
>> CONFIG_STACKTRACE_SUPPORT=y
>> CONFIG_HAVE_LATENCYTOP_SUPPORT=y
>> CONFIG_MMU=y
> [ … ]
>
>> #
>> # Processor type and features
>> #
>> CONFIG_ZONE_DMA=y
>> CONFIG_TICK_ONESHOT=y
>> # CONFIG_NO_HZ is not set
>> CONFIG_HIGH_RES_TIMERS=y
>> CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
>> CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
>> CONFIG_SMP=y
>> CONFIG_X86_MPPARSE=y
>> # CONFIG_X86_BIGSMP is not set
>> CONFIG_X86_EXTENDED_PLATFORM=y
>> # CONFIG_X86_WANT_INTEL_MID is not set
>> # CONFIG_X86_RDC321X is not set
>> # CONFIG_X86_32_NON_STANDARD is not set
>> CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
>> # CONFIG_X86_32_IRIS is not set
>> CONFIG_SCHED_OMIT_FRAME_POINTER=y
>> # CONFIG_PARAVIRT_GUEST is not set
>> CONFIG_NO_BOOTMEM=y
>> # CONFIG_MEMTEST is not set
>> # CONFIG_M386 is not set
>> # CONFIG_M486 is not set
>> # CONFIG_M586 is not set
>> # CONFIG_M586TSC is not set
>> # CONFIG_M586MMX is not set
>> # CONFIG_M686 is not set
>> # CONFIG_MPENTIUMII is not set
>> # CONFIG_MPENTIUMIII is not set
>> # CONFIG_MPENTIUMM is not set
>> # CONFIG_MPENTIUM4 is not set
>> # CONFIG_MK6 is not set
>> # CONFIG_MK7 is not set
>> # CONFIG_MK8 is not set
>> # CONFIG_MCRUSOE is not set
>> # CONFIG_MEFFICEON is not set
>> # CONFIG_MWINCHIPC6 is not set
>> # CONFIG_MWINCHIP3D is not set
>> # CONFIG_MELAN is not set
>> # CONFIG_MGEODEGX1 is not set
>> # CONFIG_MGEODE_LX is not set
>> # CONFIG_MCYRIXIII is not set
>> # CONFIG_MVIAC3_2 is not set
>> # CONFIG_MVIAC7 is not set
>> # CONFIG_MCORE2 is not set
>> CONFIG_MATOM=y
> You have a 64-bit AMD processor but you're enabling 32-bit Intel Atom
> optimizations, wtf?
>
> Why not CONFIG_MK8?
>
> Also, I noticed below you have IDE stuff enabled. Why? Why not AHCI and
> the corresponding ATA_SFF options?
I share this kernel with two other motherboards.
CONFIG_SATA_AHCI is enabled too, the HDD uses this driver.
> ...
>
>> # CONFIG_X86_GENERIC is not set
>> CONFIG_X86_INTERNODE_CACHE_SHIFT=6
>> CONFIG_X86_CMPXCHG=y
>> CONFIG_X86_L1_CACHE_SHIFT=6
>> CONFIG_X86_XADD=y
>> CONFIG_X86_WP_WORKS_OK=y
>> CONFIG_X86_INVLPG=y
>> CONFIG_X86_BSWAP=y
>> CONFIG_X86_POPAD_OK=y
>> CONFIG_X86_USE_PPRO_CHECKSUM=y
>> CONFIG_X86_TSC=y
>> CONFIG_X86_CMPXCHG64=y
>> CONFIG_X86_CMOV=y
>> CONFIG_X86_MINIMUM_CPU_FAMILY=5
>> CONFIG_X86_DEBUGCTLMSR=y
>> CONFIG_CPU_SUP_INTEL=y
>> CONFIG_CPU_SUP_AMD=y
>> CONFIG_CPU_SUP_CENTAUR=y
>> CONFIG_CPU_SUP_TRANSMETA_32=y
>> CONFIG_HPET_TIMER=y
>> CONFIG_HPET_EMULATE_RTC=y
>> CONFIG_DMI=y
>> # CONFIG_IOMMU_HELPER is not set
>> CONFIG_NR_CPUS=8
>> # CONFIG_SCHED_SMT is not set
>> CONFIG_SCHED_MC=y
>> # CONFIG_IRQ_TIME_ACCOUNTING is not set
>> CONFIG_PREEMPT_NONE=y
>> # CONFIG_PREEMPT_VOLUNTARY is not set
>> # CONFIG_PREEMPT is not set
>> CONFIG_X86_LOCAL_APIC=y
>> CONFIG_X86_IO_APIC=y
>> # CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set
>> CONFIG_X86_MCE=y
>> CONFIG_X86_MCE_INTEL=y
>> CONFIG_X86_MCE_AMD=y
>> # CONFIG_X86_ANCIENT_MCE is not set
>> CONFIG_X86_MCE_THRESHOLD=y
>> # CONFIG_X86_MCE_INJECT is not set
>> CONFIG_X86_THERMAL_VECTOR=y
>> CONFIG_VM86=y
>> # CONFIG_TOSHIBA is not set
>> CONFIG_I8K=m
>> # CONFIG_X86_REBOOTFIXUPS is not set
>> CONFIG_MICROCODE=y
>> CONFIG_MICROCODE_INTEL=y
>> CONFIG_MICROCODE_AMD=y
> This should be =m because otherwise you can't load microcode from
> userspace.
>
> All I'm saying is, take some time to configure your kernel properly by
> reading the help text of every option and enable only the ones you need.
>
> And search the net for more info on how to configure your kernel
> properly.
>
> HTH.
>
I don't think the issue came from this .config, linux-3.2.20 works fine
on this motherboard with a .config quite close.
This may be an issue on 32 bits mode SMP kernel only ? or something else ?
Is someone else have this issue ?
Best Regards
Wallak.
next prev parent reply other threads:[~2012-06-11 23:33 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1108815600.134531433.1339443818361.JavaMail.root@zimbra44-e7.priv.proxad.net>
2012-06-11 19:54 ` File copy is very slow on linux-3.4.2 (or linux-3.3x) on a specific hardware: AMD FX-8150 + 990FX wallak
2012-06-11 20:48 ` Borislav Petkov
2012-06-11 23:19 ` Wallak [this message]
2012-06-12 16:53 ` Jan Kara
2012-06-12 18:39 ` Wallak
2012-06-12 21:09 ` Jan Kara
2012-06-12 22:41 ` Wallak
2012-06-13 6:53 ` Jan Kara
2012-06-13 20:37 ` File copy is very slow on linux-3.4.2 (or linux-3.3x) on a specific hardware: AMD FX-8150 + 990FX (solved?) Wallak
2012-06-13 22:38 ` Johannes Weiner
2012-06-14 20:16 ` Wallak
2012-06-14 20:57 ` Rik van Riel
2012-06-16 19:32 ` Wallak
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=4FD67D09.9010406@free.fr \
--to=wallak@free.fr \
--cc=bp@alien8.de \
--cc=linux-kernel@vger.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.