public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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.


  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox