View previous topic :: View next topic |
Author |
Message |
lamekain Guru
Joined: 25 Nov 2003 Posts: 331 Location: Helsinki, Finland
|
Posted: Fri Apr 02, 2004 4:55 pm Post subject: 2.6 Kernel acting much slower than 2.4.. |
|
|
I just migrated from 2.4 into 2.6 using 2.6.0-love-sources. After some struggle I got almost everything working. The only problem is that gdm and X startup-times are very long. The computer appears to be a LOT slower(which wasn't expected from love-sources ).
The only error I get during boot time is that my IDE - harddrives are not using DMA (which could be the reason for sluggish behaviour). I have the use PCI DMA by default when available compiled in the kernel. Do I need something else?
When i do hdparm on my / : Code: | hdparm /dev/hda
/dev/hda:
multcount = 16 (on)
IO_support = 1 (32-bit)
unmaskirq = 0 (off)
using_dma = 0 (off)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 16383/255/63, sectors = 156301488, start = 0
|
Then I try: Code: | hdparm -d1 /dev/hda
/dev/hda:
setting using_dma to 1 (on)
HDIO_SET_DMA failed: Operation not permitted
using_dma = 0 (off) |
Why? What is slowing my box? (any good kernel hints to make it faster?
) _________________ "Only when the last tree has died, the last river been poisoned,
and the last fish been caught, will we realize we cannot eat money"
-Global Terrorism.org |
|
Back to top |
|
|
IWBCMAN Guru
Joined: 25 Jun 2002 Posts: 474
|
Posted: Fri Apr 02, 2004 5:13 pm Post subject: |
|
|
Be sure to enable Generic PCI bus-master DMA support(BLK_DEV_IDEDMA_PCI) in your kernel...it is rather buried in the hierarchy-and easy to oversee......
to find it look under:
Code: |
->Device Drivers
------>ATA/ATAPI/MFM/RLL Support
------------>Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
----------------->PCI IDE Chipset Support
----------------------->Generic PCI bus-master DMA support
|
from the description:
Quote: |
Generic PCI bus-master DMA support BLK_DEV_IDEDMA_PCI
If your PCI system uses IDE drive(s) (as opposed to SCSI, say) and
is capable of bus-master DMA operation (most Pentium PCI systems),
you will want to say Y here to reduce CPU overhead. You can then use
the "hdparm" utility to enable DMA for drives for which it was not
enabled automatically. By default, DMA is not enabled automatically
for these drives, but you can change that by saying Y to the
following question "Use DMA by default when available". You can get
the latest version of the hdparm utility from
<ftp://ibiblio.org/pub/Linux/system/hardware/>.
Read the comments at the beginning of <file:drivers/ide/ide-dma.c>
and the file <file:Documentation/ide.txt> for more information.
It is safe to say Y to this question.
|
|
|
Back to top |
|
|
lamekain Guru
Joined: 25 Nov 2003 Posts: 331 Location: Helsinki, Finland
|
Posted: Fri Apr 02, 2004 5:22 pm Post subject: |
|
|
"Generic PCI bus-master DMA support" is enabled and so is "Use PCI DMA by default when available". The only other thing I have enabled there is "AMD and nVidia IDE support", which I probably don't need... Could that be the causer for DMA problems?
under AMD & NVIDIA IDE support it says: Quote: | AMD and nVidia IDE support BLK_DEV_AMD74XX
This driver adds explicit support for AMD-7xx and AMD-8111 chips
and also for the nVidia nForce chip. This allows the kernel to
change PIO, DMA and UDMA speeds and to configure the chip to
optimum performance. |
_________________ "Only when the last tree has died, the last river been poisoned,
and the last fish been caught, will we realize we cannot eat money"
-Global Terrorism.org |
|
Back to top |
|
|
lamekain Guru
Joined: 25 Nov 2003 Posts: 331 Location: Helsinki, Finland
|
Posted: Fri Apr 02, 2004 5:55 pm Post subject: |
|
|
Ok. I tried taking it out from the Kernel, but that didn't help..
Any suggestions?? _________________ "Only when the last tree has died, the last river been poisoned,
and the last fish been caught, will we realize we cannot eat money"
-Global Terrorism.org |
|
Back to top |
|
|
lamekain Guru
Joined: 25 Nov 2003 Posts: 331 Location: Helsinki, Finland
|
Posted: Fri Apr 02, 2004 7:33 pm Post subject: help still needed... |
|
|
Ok. It is starting to be obvious that the problem is related to the lack of IDE hard-drives using DMA. I get these errors during boot: Code: | FATAL: Module ide_probe_mod not found
FATAL: Module ide_tape not found
FATAL: Module st not found |
Do these say anything to anyone? I'm running out'o'options.. _________________ "Only when the last tree has died, the last river been poisoned,
and the last fish been caught, will we realize we cannot eat money"
-Global Terrorism.org |
|
Back to top |
|
|
IWBCMAN Guru
Joined: 25 Jun 2002 Posts: 474
|
Posted: Fri Apr 02, 2004 8:54 pm Post subject: |
|
|
Unfortunately I don't have a clue to the specifics of your motherboard/IDE controller-ie. which chipsets it uses etc.
/usr/bin/lspci may help you to find out what the kernel reports concerning your IDE chipset.
But here is a copy of my .config file from 2.6.4-love1 w/mISDN-some of the things are of specific to my machine-but compare it with your .config file and try to strip out anything you don't know that you need-I know this is tedious work-but you should at least try to custom tailor your kernel config to your machine-ie. don't compile stuff in that you don't need-you can always recompile again later should this change....
Code: |
#
# Automatically generated make config: don't edit
#
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_GENERIC_ISA_DMA=y
#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
# CONFIG_STANDALONE is not set
CONFIG_BROKEN_ON_SMP=y
#
# General setup
#
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
# CONFIG_POSIX_MQUEUE is not set
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_SYSCTL=y
CONFIG_LOG_BUF_SHIFT=14
CONFIG_HOTPLUG=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_OBSOLETE_MODPARM=y
# CONFIG_MODVERSIONS is not set
CONFIG_KMOD=y
#
# Processor type and features
#
CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 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=y
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_X86_GENERIC is not set
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_L1_CACHE_SHIFT=7
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
# CONFIG_X86_4G is not set
# CONFIG_X86_SWITCH_PAGETABLES is not set
# CONFIG_X86_4G_VM_LAYOUT is not set
# CONFIG_X86_UACCESS_INDIRECT is not set
# CONFIG_X86_HIGH_ENTRY is not set
# CONFIG_HPET_TIMER is not set
# CONFIG_HPET_EMULATE_RTC is not set
# CONFIG_SMP is not set
CONFIG_PREEMPT=y
# CONFIG_X86_UP_APIC is not set
CONFIG_X86_TSC=y
# CONFIG_X86_MCE is not set
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
# CONFIG_MICROCODE is not set
# CONFIG_X86_MSR is not set
CONFIG_X86_CPUID=y
# CONFIG_EDD is not set
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
CONFIG_HIGHMEM=y
CONFIG_HIGHPTE=y
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
# CONFIG_EFI is not set
CONFIG_HAVE_DEC_LOCK=y
# CONFIG_REGPARM is not set
#
# Power management options (ACPI, APM)
#
CONFIG_PM=y
# CONFIG_SOFTWARE_SUSPEND is not set
# CONFIG_PM_DISK is not set
#
# ACPI (Advanced Configuration and Power Interface) Support
#
CONFIG_ACPI=y
CONFIG_ACPI_BOOT=y
CONFIG_ACPI_INTERPRETER=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SLEEP_PROC_FS=y
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_FAN=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_ASUS is not set
# CONFIG_ACPI_TOSHIBA is not set
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_BUS=y
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_PCI=y
CONFIG_ACPI_SYSTEM=y
# CONFIG_X86_PM_TIMER is not set
#
# APM (Advanced Power Management) BIOS Support
#
# CONFIG_APM is not set
#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set
CONFIG_HZ_1000=y
# CONFIG_HZ_512 is not set
# CONFIG_HZ_100 is not set
CONFIG_HZ=1000
#
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
#
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_LEGACY_PROC=y
CONFIG_PCI_NAMES=y
CONFIG_ISA=y
# CONFIG_EISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set
#
# PCMCIA/CardBus support
#
# CONFIG_PCMCIA is not set
CONFIG_PCMCIA_PROBE=y
#
# Device Drivers
#
#
# Plug and Play support
#
CONFIG_PNP=y
CONFIG_PNP_DEBUG=y
#
# Protocols
#
# CONFIG_ISAPNP is not set
CONFIG_PNPBIOS=y
CONFIG_PNPBIOS_PROC_FS=y
#
# Block devices
#
CONFIG_BLK_DEV_FD=y
# CONFIG_BLK_DEV_XD is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_CRYPTOLOOP=m
# CONFIG_BLK_DEV_COMPRESSLOOP is not set
CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_RAM=m
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_LBD=y
# CONFIG_CDROM_PKTCDVD is not set
#
# ATA/ATAPI/MFM/RLL support
#
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y
#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
# CONFIG_IDEDISK_STROKE is not set
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
CONFIG_BLK_DEV_IDESCSI=m
# CONFIG_IDE_TASK_IOCTL is not set
# CONFIG_IDE_TASKFILE_IO is not set
#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=y
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_BLK_DEV_IDEPNP is not set
CONFIG_BLK_DEV_IDEPCI=y
# CONFIG_IDEPCI_SHARE_IRQ is not set
# CONFIG_BLK_DEV_OFFBOARD is not set
CONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_RZ1000 is not set
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_ADMA=y
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_BLK_DEV_ATIIXP is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not set
CONFIG_BLK_DEV_PIIX=y
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_IDE_CHIPSETS is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_DMA_NONPCI is not set
# CONFIG_BLK_DEV_HD is not set
|
sorry it's so long-hope this helps in finding the problem-I stripped out those parts, that to me, seem irrelevant for your problem. I too had to initially turn of kernel supprot for certain chipsets to get DMA working-ut I can't remeber which ones.... |
|
Back to top |
|
|
VolcomPimp Tux's lil' helper
Joined: 11 Mar 2004 Posts: 135 Location: Newark, CA
|
Posted: Fri Apr 02, 2004 11:33 pm Post subject: |
|
|
the problem is definitly DMA not being enabled...
you have to enable DMA for your chipset... if you don't
know what chipset you use, tell us what motherboard
you use (brand and model number) and we can tell you what
you need to enable... pci dma is unrelated unless you're using
some sort of ide controller from a pci card which you probly aren't. |
|
Back to top |
|
|
eean Guru
Joined: 10 Jun 2002 Posts: 355 Location: Kirksville, MO USA
|
Posted: Fri Apr 02, 2004 11:38 pm Post subject: |
|
|
I agree about the DMA being an issue.
Maybe its because I'm not familiar with the Love sources, but why are you using 2.6.0? |
|
Back to top |
|
|
cyrillic Watchman
Joined: 19 Feb 2003 Posts: 7313 Location: Groton, Massachusetts USA
|
Posted: Sat Apr 03, 2004 12:24 am Post subject: |
|
|
lamekain wrote: | The only other thing I have enabled there is "AMD and nVidia IDE support", which I probably don't need... Could that be the causer for DMA problems? |
You need to compile-in support for the correct chipset in order for DMA to work.
The machine I am using right now does have an nVidia IDE chipset (as shown by the lspci command)
Code: | 00:09.0 IDE interface: nVidia Corporation nForce2 IDE (rev a2) |
If your machine has something different, then deselect the nVidia option, and select the option that matches your hardware. |
|
Back to top |
|
|
Boohbah Apprentice
Joined: 17 Oct 2003 Posts: 250 Location: Seattle
|
Posted: Sat Apr 03, 2004 3:21 am Post subject: Re: help still needed... |
|
|
lamekain wrote: | Code: | FATAL: Module ide_probe_mod not found
FATAL: Module ide_tape not found
FATAL: Module st not found |
|
These are due to an old version of module-init-tools. Emerge the latest ~x86 masked version and these messages will go away. _________________ Never try to explain computers to a layman. It's easier to explain sex to a virgin.
-- Robert Heinlein
(Note, however, that virgins tend to know a lot about computers.) |
|
Back to top |
|
|
lamekain Guru
Joined: 25 Nov 2003 Posts: 331 Location: Helsinki, Finland
|
Posted: Sat Apr 03, 2004 10:26 am Post subject: Thank you. |
|
|
Got it working!
eean wrote: | Maybe its because I'm not familiar with the Love sources, but why are you using 2.6.0? |
Good point . changed to 2.6.5_rc3-love2 this morning.
IWBCMAN wrote: | /usr/bin/lspci may help you to find out what the kernel reports concerning your IDE chipset. |
Thanks. still have a lot to learn about those useful admin-commands. Found out it was VIA and enabled it from behind the million submenus (thank god for gconfig in 2.6).
kraid wrote: | These are due to an old version of module-init-tools. Emerge the latest ~x86 masked version and these messages will go away. |
A big hand to you ! that fixed it.
one minor problem. i get this when i run lilo:
Code: | Warning: Kernel & BIOS return differing head/sector geometries for device 0x81
Kernel: 65535 cylinders, 16 heads, 63 sectors
BIOS: 1024 cylinders, 255 heads, 63 sectors
|
Solutions?
Anyway, as some of us finns say: "Thank you very many". _________________ "Only when the last tree has died, the last river been poisoned,
and the last fish been caught, will we realize we cannot eat money"
-Global Terrorism.org |
|
Back to top |
|
|
IWBCMAN Guru
Joined: 25 Jun 2002 Posts: 474
|
Posted: Sat Apr 03, 2004 10:40 am Post subject: |
|
|
Well a ultra quick Google turned up the following two posted messages regarding this error message:
Quote: |
On Tue, Jun 24, 2003 at 01:09:06AM +0200, Luis Miguel Garcia wrote:
> I'm getting this while running lilo from kernel 2.5.72mm2. What does it means?
> bash-2.05b# lilo
> Warning: Kernel & BIOS return differing head/sector geometries for device 0x80
> Kernel: 13424 cylinders, 15 heads, 63 sectors
> BIOS: 788 cylinders, 255 heads, 63 sectors
It means that Kernel and BIOS each invent a fake geometry for your disk,
and they did not invent the same fake geometry.
> Could it be dangerous?
No.
Linux does not use the BIOS, and does not use CHS either, so geometry is
totally and completely irrelevant to Linux.
Depending on the precise LILO version, and on whether you give options
like "linear" and "lba32", LILO might or might not be confused.
Test whether you can boot. If booting works all is well. If not
make sure you set at least one of "linear" and "lba32".
If you also have DOS on the same disk the story is more complicated.
All systems on a disk must agree as to where the partitions are,
or corruption will be the result.
|
Quote: |
On Tue, 28 Oct 2003, Hamish McBrearty wrote:
> Hi there
>
> Well I was feeling a bit adventurous tonight and have successfully
> upgraded my Gentoo box to 2.6.0-test9. Everything's very sweet, and seems
> quicker but that could be my imagination.
>
> However, when I run Lilo I get an error I've never seen before. The system
> boots fine so I'm not too concerned but I'd love to figure it out. Here's
> there error.
>
> Warning: Kernel & BIOS return differing head/sector geometries for device
> 0x80
> Kernel: 65535 cylinders, 16 heads, 63 sectors
> BIOS: 1024 cylinders, 255 heads, 63 sectors
Hmm 65535 cylinders, 16 heads, 63 sectors =66059280
1024 cylinders, 255 heads, 63 sectors =16450560
Either the BIOS is set wrong for the HDD, or it can't handle the size of
disk that is installed. But don't worry, Linux takes over from the BIOS
when determining the disk geometry. Linux does not trust BIOSs.
The error message is probably a feature of the 2.6 kernel.
Phil.
|
It seems that the 2.6 kernel simply ignores what BIOS says-at any rate it appears to be harmless and safe-if someone know anything to the contrary let us know.... |
|
Back to top |
|
|
lamekain Guru
Joined: 25 Nov 2003 Posts: 331 Location: Helsinki, Finland
|
Posted: Sat Apr 03, 2004 10:52 am Post subject: |
|
|
box boots up normally. i have the lba32 in my lilo.conf, but i won't start changing stuff if the warning is not relevant.
I only started wondering, because the warning seemed kinda random. it didn't show up when i first compiled the kernel, but when i added the network-support(which i forgot at first), then it appeared.. _________________ "Only when the last tree has died, the last river been poisoned,
and the last fish been caught, will we realize we cannot eat money"
-Global Terrorism.org |
|
Back to top |
|
|
pjp Administrator
Joined: 16 Apr 2002 Posts: 20585
|
Posted: Tue Apr 06, 2004 2:29 pm Post subject: |
|
|
Moved from Installing Gentoo.
EDIT: Moved from OTG to the Kernel forum. _________________ Quis separabit? Quo animo? |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|