* Performance improvement with Akira Tsukamoto's Athlon copy_user patch
@ 2002-11-19 17:34 szonyi calin
2002-11-19 18:20 ` Akira Tsukamoto
2002-11-19 18:23 ` Akira Tsukamoto
0 siblings, 2 replies; 5+ messages in thread
From: szonyi calin @ 2002-11-19 17:34 UTC (permalink / raw)
To: linux-kernel; +Cc: at541
[-- Attachment #1: Type: text/plain, Size: 556 bytes --]
Hello everybody
I patched yesterday the 2.5.47 vanilla kernel with Akira
Tsukamoto's Athlon copy_user patch and tried a
hdparm -tT /dev/hda
The results (atached) are impressive compared with both the
vanilla 2.5.47 kernel and the 2.4.19 with ck-rl5 patches (from
colivas)
Bye
Calin
=====
--
A mouse is a device used to point at
the xterm you want to type in.
Kim Alm on a.s.r.
___________________________________________________________
Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français !
Yahoo! Mail : http://fr.mail.yahoo.com
[-- Attachment #2: results --]
[-- Type: application/octet-stream, Size: 30383 bytes --]
2.5.47 with copy user patch
/dev/hda:
Timing buffer-cache reads: 128 MB in 0.71 seconds =180.28 MB/sec
Timing buffered disk reads: 64 MB in 4.06 seconds = 15.78 MB/sec
vanila 2.5.47
/dev/hda:
Timing buffer-cache reads: 128 MB in 1.09 seconds =117.32 MB/sec
Timing buffered disk reads: 64 MB in 4.05 seconds = 15.78 MB/sec
2.4.19-ck-rl5 (performance patches)
/dev/hda:
Timing buffer-cache reads: 128 MB in 1.10 seconds =116.36 MB/sec
Timing buffered disk reads: 64 MB in 4.04 seconds = 15.84 MB/sec
kernel 2.4.19-ck-rl5 config
CONFIG_X86=y
CONFIG_ISA=y
CONFIG_UID16=y
CONFIG_EXPERIMENTAL=y
CONFIG_MODULES=y
CONFIG_MODVERSIONS=y
CONFIG_KMOD=y
CONFIG_LOLAT=y
CONFIG_LOLAT_SYSCTL=y
CONFIG_M686=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_X86_L1_CACHE_SHIFT=5
CONFIG_X86_TSC=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_PGE=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_PPRO_FENCE=y
CONFIG_X86_MCE=y
CONFIG_X86_CPUID=y
CONFIG_NOHIGHMEM=y
CONFIG_MTRR=y
CONFIG_PREEMPT=y
CONFIG_X86_UP_APIC=y
CONFIG_X86_UP_IOAPIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_HAVE_DEC_LOCK=y
CONFIG_NET=y
CONFIG_PCI=y
CONFIG_PCI_GOBIOS=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_NAMES=y
CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_KCORE_ELF=y
CONFIG_BINFMT_ELF=y
CONFIG_PM=y
CONFIG_APM=y
CONFIG_APM_DO_ENABLE=y
CONFIG_APM_RTC_IS_GMT=y
CONFIG_PARPORT=y
CONFIG_PARPORT_PC=y
CONFIG_PARPORT_PC_CML1=y
CONFIG_PARPORT_PC_FIFO=y
CONFIG_PARPORT_1284=y
CONFIG_PNP=y
CONFIG_ISAPNP=y
CONFIG_BLK_DEV_FD=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_FILTER=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
CONFIG_IDEDISK_STROKE=y
CONFIG_BLK_DEV_IDECD=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_IDEDMA_PCI_AUTO=y
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_IDEDMA_PCI_WIP=y
CONFIG_BLK_DEV_IDEDMA_TIMEOUT=y
CONFIG_BLK_DEV_ADMA=y
CONFIG_BLK_DEV_VIA82CXXX=y
CONFIG_IDEDMA_AUTO=y
CONFIG_BLK_DEV_IDE_MODES=y
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_SERIAL=y
CONFIG_SERIAL_EXTENDED=y
CONFIG_SERIAL_DETECT_IRQ=y
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=512
CONFIG_PRINTER=y
CONFIG_LP_CONSOLE=y
CONFIG_MOUSE=y
CONFIG_PSMOUSE=y
CONFIG_RTC=y
CONFIG_AGP=y
CONFIG_AGP_VIA=y
CONFIG_DRM=y
CONFIG_DRM_NEW=y
CONFIG_REISERFS_FS=m
CONFIG_EXT3_FS=m
CONFIG_JBD=m
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_TMPFS=y
CONFIG_RAMFS=y
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_JFS_FS=y
CONFIG_PROC_FS=y
CONFIG_DEVFS_FS=y
CONFIG_DEVFS_MOUNT=y
CONFIG_DEVPTS_FS=y
CONFIG_EXT2_FS=y
CONFIG_UDF_FS=y
CONFIG_UFS_FS=y
CONFIG_UFS_FS_WRITE=y
CONFIG_ZISOFS_FS=y
CONFIG_ZLIB_FS_INFLATE=y
CONFIG_PARTITION_ADVANCED=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-2"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_850=y
CONFIG_NLS_CODEPAGE_852=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_2=y
CONFIG_NLS_UTF8=y
CONFIG_VGA_CONSOLE=y
CONFIG_VIDEO_SELECT=y
CONFIG_SOUND=y
CONFIG_SOUND_OSS=y
CONFIG_SOUND_TRACEINIT=y
CONFIG_SOUND_DMAP=y
CONFIG_SOUND_CS4232=y
CONFIG_DEBUG_KERNEL=y
CONFIG_MAGIC_SYSRQ=y
kernel 2.5.47 config (both vanilla and with Athlon copy_user patch)
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_SWAP=y
CONFIG_UID16=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_EXPERIMENTAL=y
CONFIG_NET=y
CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_MODULES=y
CONFIG_MODVERSIONS=y
CONFIG_KMOD=y
CONFIG_MK7=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_L1_CACHE_SHIFT=6
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_TSC=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_USE_3DNOW=y
CONFIG_HUGETLB_PAGE=y
CONFIG_PREEMPT=y
CONFIG_X86_UP_APIC=y
CONFIG_X86_UP_IOAPIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_NONFATAL=y
CONFIG_X86_CPUID=y
CONFIG_NOHIGHMEM=y
CONFIG_MTRR=y
CONFIG_HAVE_DEC_LOCK=y
CONFIG_PM=y
CONFIG_APM=y
CONFIG_APM_DO_ENABLE=y
CONFIG_APM_RTC_IS_GMT=y
CONFIG_PCI=y
CONFIG_PCI_GOBIOS=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_NAMES=y
CONFIG_ISA=y
CONFIG_KCORE_ELF=y
CONFIG_BINFMT_ELF=y
CONFIG_PARPORT=y
CONFIG_PARPORT_PC=y
CONFIG_PARPORT_PC_CML1=y
CONFIG_PARPORT_PC_FIFO=y
CONFIG_PARPORT_1284=y
CONFIG_PNP=y
CONFIG_PNP_NAMES=y
CONFIG_ISAPNP=y
CONFIG_PNPBIOS=y
CONFIG_BLK_DEV_FD=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
CONFIG_BLK_DEV_IDECD=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_BLK_DEV_GENERIC=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_IDEDMA_PCI_AUTO=y
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_BLK_DEV_ADMA=y
CONFIG_BLK_DEV_VIA82CXXX=y
CONFIG_IDEDMA_AUTO=y
CONFIG_BLK_DEV_IDE_MODES=y
CONFIG_PACKET=y
CONFIG_NETLINK_DEV=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IPV6_SCTP__=y
CONFIG_INPUT=y
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_SOUND_GAMEPORT=y
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_DETECT_IRQ=y
CONFIG_SERIAL_CORE=y
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=512
CONFIG_PRINTER=y
CONFIG_LP_CONSOLE=y
CONFIG_NVRAM=y
CONFIG_RTC=y
CONFIG_AGP=y
CONFIG_AGP_VIA=y
CONFIG_DRM=y
CONFIG_RAW_DRIVER=y
CONFIG_REISERFS_FS=y
CONFIG_EXT3_FS=y
CONFIG_JBD=y
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_TMPFS=y
CONFIG_RAMFS=y
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_JFS_FS=y
CONFIG_PROC_FS=y
CONFIG_DEVFS_FS=y
CONFIG_DEVFS_MOUNT=y
CONFIG_DEVPTS_FS=y
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_UDF_FS=y
CONFIG_UFS_FS=y
CONFIG_XFS_FS=y
CONFIG_ZISOFS_FS=y
CONFIG_FS_MBCACHE=y
CONFIG_PARTITION_ADVANCED=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-2"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_850=y
CONFIG_NLS_CODEPAGE_852=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_2=y
CONFIG_NLS_UTF8=y
CONFIG_VGA_CONSOLE=y
CONFIG_VIDEO_SELECT=y
CONFIG_SOUND=y
CONFIG_SOUND_PRIME=y
CONFIG_SOUND_OSS=y
CONFIG_SOUND_TRACEINIT=y
CONFIG_SOUND_DMAP=y
CONFIG_SOUND_CS4232=y
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_STACKOVERFLOW=y
CONFIG_DEBUG_SLAB=y
CONFIG_DEBUG_IOVIRT=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_SPINLOCK=y
CONFIG_KALLSYMS=y
CONFIG_X86_EXTRA_IRQS=y
CONFIG_X86_FIND_SMP_CONFIG=y
CONFIG_X86_MPPARSE=y
CONFIG_SECURITY_CAPABILITIES=y
CONFIG_ZLIB_INFLATE=y
CONFIG_X86_BIOS_REBOOT=y
kernel 2.5.47 with copy user patch dmesg
Linux version 2.5.47 (root@grinch) (gcc version 2.95.3 20010315 (release)) #3 Tue Nov 19 00:06:54 EET 2002
Video mode to be used for restore is 309
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000000fff0000 (usable)
BIOS-e820: 000000000fff0000 - 000000000fff3000 (ACPI NVS)
BIOS-e820: 000000000fff3000 - 0000000010000000 (ACPI data)
BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
255MB LOWMEM available.
On node 0 totalpages: 65520
DMA zone: 4096 pages, LIFO batch:1
Normal zone: 61424 pages, LIFO batch:14
HighMem zone: 0 pages, LIFO batch:1
Building zonelist for node : 0
Kernel command line: BOOT_IMAGE=k2547opt ro root=301 pci=usepirqmask devfs=dall
Local APIC disabled by BIOS -- reenabling.
Found and enabled local APIC!
Initializing CPU#0
Detected 699.822 MHz processor.
Console: colour VGA+ 132x25
Calibrating delay loop... 1372.16 BogoMIPS
Memory: 254848k/262080k available (2112k kernel code, 6528k reserved, 1207k data, 280k init, 0k highmem)
Security Scaffold v1.0.0 initialized
Dentry cache hash table entries: 32768 (order: 6, 262144 bytes)
Inode-cache hash table entries: 16384 (order: 5, 131072 bytes)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
-> /dev
-> /dev/console
-> /root
CPU: Before vendor init, caps: 0183fbff c1c7fbff 00000000, vendor = 2
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 64K (64 bytes/line)
CPU: After vendor init, caps: 0183fbff c1c7fbff 00000000 00000000
CPU: After generic, caps: 0183fbff c1c7fbff 00000000 00000000
CPU: Common caps: 0183fbff c1c7fbff 00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
Machine check exception polling timer started.
CPU: AMD Duron(tm) Processor stepping 01
Enabling fast FPU save and restore... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
enabled ExtINT on CPU#0
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
Using local APIC timer interrupts.
calibrating APIC timer ...
..... CPU clock speed is 699.0952 MHz.
..... host bus clock speed is 199.0986 MHz.
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
mtrr: v2.0 (20020519)
Linux Plug and Play Support v0.9 (c) Adam Belay
PCI: PCI BIOS revision 2.10 entry at 0xfb380, last bus=1
Registering system device cpu0
adding 'CPU 0' to cpu class interfaces
BIO: pool of 256 setup, 14Kb (56 bytes/bio)
biovec pool[0]: 1 bvecs: 256 entries (12 bytes)
biovec pool[1]: 4 bvecs: 256 entries (48 bytes)
biovec pool[2]: 16 bvecs: 256 entries (192 bytes)
biovec pool[3]: 64 bvecs: 256 entries (768 bytes)
biovec pool[4]: 128 bvecs: 256 entries (1536 bytes)
biovec pool[5]: 256 bvecs: 256 entries (3072 bytes)
block request queues:
128 requests per read queue
128 requests per write queue
8 requests per batch
enter congestion at 31
exit congestion at 33
PnPBIOS: Found PnP BIOS installation structure at 0xc00fbdf0
PnPBIOS: PnP BIOS version 1.0, entry 0xf0000:0xbe20, dseg 0xf0000
pnp: 00:0b: ioport range 0x208-0x20f has been reserved
PnPBIOS: 16 nodes reported by PnP BIOS; 16 recorded by driver
isapnp: Scanning for PnP cards...
spurious 8259A interrupt: IRQ7.
isapnp: Card 'Crystal Codec'
isapnp: 1 Plug & Play card detected total
PCI: Probing PCI hardware
PCI: Probing PCI hardware (bus 00)
Disabling VIA memory write queue (PCI ID 0305, rev 02): [55] 81 & 1f -> 01
PCI: Using IRQ router VIA [1106/0686] at 00:07.0
Registering system device pic0
Registering system device rtc0
apm: BIOS version 1.2 Flags 0x07 (Driver version 1.16ac)
Total HugeTLB memory allocated, 0
slab: reap timer started for cpu 0
Starting kswapd
aio_setup: sizeof(struct page) = 40
[c1298040] eventpoll: driver installed.
Journalled Block Device driver loaded
devfs: v1.22 (20021013) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
udf: registering filesystem
SGI XFS CVS-09/15/02:17 with no debug enabled
Capability LSM initialized
PCI: Disabling Via external APIC routing
Serial: 8250/16550 driver $Revision: 1.90 $ IRQ sharing disabled
tts/0 at I/O 0x3f8 (irq = 4) is a 16550A
tts/1 at I/O 0x2f8 (irq = 0) is a 16550A
devfs_register(tts/0): could not append to parent, err: -17
tts/0 at I/O 0x3f8 (irq = 4) is a 16550A
devfs_register(tts/1): could not append to parent, err: -17
tts/1 at I/O 0x2f8 (irq = 3) is a 16550A
parport0: PC-style at 0x3bc (0x7bc) [PCSPP,TRISTATE]
parport0: cpp_daisy: aa5500ff(38)
parport0: assign_addrs: aa5500ff(38)
parport0: cpp_daisy: aa5500ff(38)
parport0: assign_addrs: aa5500ff(38)
parport_pc: Via 686A parallel port: io=0x3BC
pty: 512 Unix98 ptys configured
lp0: using parport0 (polling).
lp0: console ready
Real Time Clock Driver v1.11
Non-volatile memory driver v1.2
Linux agpgart interface v0.99 (c) Jeff Hartmann
agpgart: Maximum main memory to use for agp memory: 203M
agpgart: Detected Via Apollo Pro KT133 chipset
agpgart: AGP aperture is 64M @ 0xd0000000
agpgart: Oops, don't init more than one agpgart device.
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
loop: loaded (max 8 devices)
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
VP_IDE: IDE controller at PCI slot 00:07.1
VP_IDE: chipset revision 16
VP_IDE: not 100% native mode: will probe irqs later
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
VP_IDE: VIA vt82c686a (rev 22) IDE UDMA66 controller on pci00:07.1
ide0: BM-DMA at 0xe000-0xe007, BIOS settings: hda:DMA, hdb:pio
ide1: BM-DMA at 0xe008-0xe00f, BIOS settings: hdc:DMA, hdd:pio
hda: ST36421A, ATA DISK drive
hda: DMA disabled
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hdc: SONY CDU4811, ATAPI CD/DVD-ROM drive
hdc: DMA disabled
ide1 at 0x170-0x177,0x376 on irq 15
hda: host protected area => 1
hda: 12596850 sectors (6450 MB) w/256KiB Cache, CHS=784/255/63, UDMA(33)
/dev/ide/host0/bus0/target0/lun0: p1 p2 p3 < p5 > p4
end_request: I/O error, dev hdc, sector 0
hdc: ATAPI 48X CD-ROM drive, 120kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.12
end_request: I/O error, dev hdc, sector 0
register interface 'mouse' with class 'input
mice: PS/2 mouse device common for all mice
input: PS/2 Generic Mouse on isa0060/serio1
serio: i8042 AUX port at 0x60,0x64 irq 12
input: AT Set 2 keyboard on isa0060/serio0
serio: i8042 KBD port at 0x60,0x64 irq 1
<Crystal audio controller (CS4239)> at 0x534 irq 5 dma 1,0
ad1848: Interrupt test failed (IRQ5)
ad1848/cs4248 codec driver Copyright (C) by Hannu Savolainen 1993-1996
ad1848: ISAPnP reports 'Crystal Codec' at i/o 0x534, irq 5, dma 1, 0
NET4: Linux TCP/IP 1.0 for NET4.0
IP: routing cache hash table of 2048 buckets, 16Kbytes
TCP: Hash tables configured (established 16384 bind 16384)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
You didn't specify the type of your ufs filesystem
mount -t ufs -o ufstype=sun|sunx86|44bsd|old|hp|nextstep|netxstep-cd|openstep ...
>>>WARNING<<< Wrong ufstype may corrupt your filesystem, default is ufstype=old
ufs_read_super: bad magic number
UDF-fs DEBUG fs/udf/lowlevel.c:65:udf_get_last_session: CDROMMULTISESSION not supported: rc=-25
UDF-fs DEBUG fs/udf/super.c:1476:udf_fill_super: Multi-session=0
UDF-fs DEBUG fs/udf/super.c:461:udf_vrs: Starting at sector 16 (2048 byte sectors)
UDF-fs: No VRS found
sh-2021: reiserfs_fill_super: can not find reiserfs on ide0(3,1)
VFS: Mounted root (jfs filesystem) readonly.
Mounted devfs on /dev
Freeing unused kernel memory: 280k freed
Adding 248968k swap on /dev/hda5. Priority:-1 extents:1
kjournald starting. Commit interval 5 seconds
EXT3 FS 2.4-0.9.16, 02 Dec 2001 on ide0(3,4), internal journal
EXT3-fs: mounted filesystem with ordered data mode.
vanila 2.5.47 dmesg
Linux version 2.5.47 (root@grinch) (gcc version 2.95.3 20010315 (release)) #1 Tue Nov 12 23:15:56 EET 2002
Video mode to be used for restore is 309
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000000fff0000 (usable)
BIOS-e820: 000000000fff0000 - 000000000fff3000 (ACPI NVS)
BIOS-e820: 000000000fff3000 - 0000000010000000 (ACPI data)
BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
255MB LOWMEM available.
On node 0 totalpages: 65520
DMA zone: 4096 pages, LIFO batch:1
Normal zone: 61424 pages, LIFO batch:14
HighMem zone: 0 pages, LIFO batch:1
Building zonelist for node : 0
Kernel command line: BOOT_IMAGE=k2547 ro root=301 pci=usepirqmask devfs=dall
Local APIC disabled by BIOS -- reenabling.
Found and enabled local APIC!
Initializing CPU#0
Detected 699.856 MHz processor.
Console: colour VGA+ 132x25
Calibrating delay loop... 1372.16 BogoMIPS
Memory: 254848k/262080k available (2111k kernel code, 6528k reserved, 1207k data, 280k init, 0k highmem)
Security Scaffold v1.0.0 initialized
Dentry cache hash table entries: 32768 (order: 6, 262144 bytes)
Inode-cache hash table entries: 16384 (order: 5, 131072 bytes)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
-> /dev
-> /dev/console
-> /root
CPU: Before vendor init, caps: 0183fbff c1c7fbff 00000000, vendor = 2
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 64K (64 bytes/line)
CPU: After vendor init, caps: 0183fbff c1c7fbff 00000000 00000000
CPU: After generic, caps: 0183fbff c1c7fbff 00000000 00000000
CPU: Common caps: 0183fbff c1c7fbff 00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
Machine check exception polling timer started.
CPU: AMD Duron(tm) Processor stepping 01
Enabling fast FPU save and restore... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
enabled ExtINT on CPU#0
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
Using local APIC timer interrupts.
calibrating APIC timer ...
..... CPU clock speed is 699.0952 MHz.
..... host bus clock speed is 199.0986 MHz.
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
mtrr: v2.0 (20020519)
Linux Plug and Play Support v0.9 (c) Adam Belay
PCI: PCI BIOS revision 2.10 entry at 0xfb380, last bus=1
Registering system device cpu0
adding 'CPU 0' to cpu class interfaces
BIO: pool of 256 setup, 14Kb (56 bytes/bio)
biovec pool[0]: 1 bvecs: 256 entries (12 bytes)
biovec pool[1]: 4 bvecs: 256 entries (48 bytes)
biovec pool[2]: 16 bvecs: 256 entries (192 bytes)
biovec pool[3]: 64 bvecs: 256 entries (768 bytes)
biovec pool[4]: 128 bvecs: 256 entries (1536 bytes)
biovec pool[5]: 256 bvecs: 256 entries (3072 bytes)
block request queues:
128 requests per read queue
128 requests per write queue
8 requests per batch
enter congestion at 31
exit congestion at 33
PnPBIOS: Found PnP BIOS installation structure at 0xc00fbdf0
PnPBIOS: PnP BIOS version 1.0, entry 0xf0000:0xbe20, dseg 0xf0000
pnp: 00:0b: ioport range 0x208-0x20f has been reserved
PnPBIOS: 16 nodes reported by PnP BIOS; 16 recorded by driver
isapnp: Scanning for PnP cards...
isapnp: Card 'Crystal Codec'
isapnp: 1 Plug & Play card detected total
PCI: Probing PCI hardware
PCI: Probing PCI hardware (bus 00)
Disabling VIA memory write queue (PCI ID 0305, rev 02): [55] 81 & 1f -> 01
PCI: Using IRQ router VIA [1106/0686] at 00:07.0
spurious 8259A interrupt: IRQ7.
Registering system device pic0
Registering system device rtc0
apm: BIOS version 1.2 Flags 0x07 (Driver version 1.16ac)
Total HugeTLB memory allocated, 0
slab: reap timer started for cpu 0
Starting kswapd
aio_setup: sizeof(struct page) = 40
[c1298040] eventpoll: driver installed.
Journalled Block Device driver loaded
devfs: v1.22 (20021013) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
udf: registering filesystem
SGI XFS CVS-09/15/02:17 with no debug enabled
Capability LSM initialized
PCI: Disabling Via external APIC routing
Serial: 8250/16550 driver $Revision: 1.90 $ IRQ sharing disabled
tts/0 at I/O 0x3f8 (irq = 4) is a 16550A
tts/1 at I/O 0x2f8 (irq = 3) is a 16550A
devfs_register(tts/0): could not append to parent, err: -17
tts/0 at I/O 0x3f8 (irq = 4) is a 16550A
devfs_register(tts/1): could not append to parent, err: -17
tts/1 at I/O 0x2f8 (irq = 3) is a 16550A
parport0: PC-style at 0x3bc (0x7bc) [PCSPP,TRISTATE]
parport0: cpp_daisy: aa5500ff(38)
parport0: assign_addrs: aa5500ff(38)
parport0: cpp_daisy: aa5500ff(38)
parport0: assign_addrs: aa5500ff(38)
parport_pc: Via 686A parallel port: io=0x3BC
pty: 512 Unix98 ptys configured
lp0: using parport0 (polling).
lp0: console ready
Real Time Clock Driver v1.11
Non-volatile memory driver v1.2
Linux agpgart interface v0.99 (c) Jeff Hartmann
agpgart: Maximum main memory to use for agp memory: 203M
agpgart: Detected Via Apollo Pro KT133 chipset
agpgart: AGP aperture is 64M @ 0xd0000000
agpgart: Oops, don't init more than one agpgart device.
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
loop: loaded (max 8 devices)
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
VP_IDE: IDE controller at PCI slot 00:07.1
VP_IDE: chipset revision 16
VP_IDE: not 100% native mode: will probe irqs later
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
VP_IDE: VIA vt82c686a (rev 22) IDE UDMA66 controller on pci00:07.1
ide0: BM-DMA at 0xe000-0xe007, BIOS settings: hda:DMA, hdb:pio
ide1: BM-DMA at 0xe008-0xe00f, BIOS settings: hdc:DMA, hdd:pio
hda: ST36421A, ATA DISK drive
hda: DMA disabled
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hdc: SONY CDU4811, ATAPI CD/DVD-ROM drive
hdc: DMA disabled
ide1 at 0x170-0x177,0x376 on irq 15
hda: host protected area => 1
hda: 12596850 sectors (6450 MB) w/256KiB Cache, CHS=784/255/63, UDMA(33)
/dev/ide/host0/bus0/target0/lun0: p1 p2 p3 < p5 > p4
end_request: I/O error, dev hdc, sector 0
hdc: ATAPI 48X CD-ROM drive, 120kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.12
end_request: I/O error, dev hdc, sector 0
register interface 'mouse' with class 'input
mice: PS/2 mouse device common for all mice
input: PS/2 Generic Mouse on isa0060/serio1
serio: i8042 AUX port at 0x60,0x64 irq 12
input: AT Set 2 keyboard on isa0060/serio0
serio: i8042 KBD port at 0x60,0x64 irq 1
<Crystal audio controller (CS4239)> at 0x534 irq 5 dma 1,0
ad1848: Interrupt test failed (IRQ5)
ad1848/cs4248 codec driver Copyright (C) by Hannu Savolainen 1993-1996
ad1848: ISAPnP reports 'Crystal Codec' at i/o 0x534, irq 5, dma 1, 0
NET4: Linux TCP/IP 1.0 for NET4.0
IP: routing cache hash table of 2048 buckets, 16Kbytes
TCP: Hash tables configured (established 16384 bind 16384)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
You didn't specify the type of your ufs filesystem
mount -t ufs -o ufstype=sun|sunx86|44bsd|old|hp|nextstep|netxstep-cd|openstep ...
>>>WARNING<<< Wrong ufstype may corrupt your filesystem, default is ufstype=old
ufs_read_super: bad magic number
UDF-fs DEBUG fs/udf/lowlevel.c:65:udf_get_last_session: CDROMMULTISESSION not supported: rc=-25
UDF-fs DEBUG fs/udf/super.c:1476:udf_fill_super: Multi-session=0
UDF-fs DEBUG fs/udf/super.c:461:udf_vrs: Starting at sector 16 (2048 byte sectors)
UDF-fs: No VRS found
sh-2021: reiserfs_fill_super: can not find reiserfs on ide0(3,1)
VFS: Mounted root (jfs filesystem) readonly.
Mounted devfs on /dev
Freeing unused kernel memory: 280k freed
Adding 248968k swap on /dev/hda5. Priority:-1 extents:1
kjournald starting. Commit interval 5 seconds
EXT3 FS 2.4-0.9.16, 02 Dec 2001 on ide0(3,4), internal journal
EXT3-fs: mounted filesystem with ordered data mode.
2.4.19-ck-rl5 (performance patches)
Linux version 2.4.19-ck5-rl (root@grinch) (gcc version 2.95.3 20010315 (release)) #1 Sun Oct 27 03:28:49 EEST 2002
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000000fff0000 (usable)
BIOS-e820: 000000000fff0000 - 000000000fff3000 (ACPI NVS)
BIOS-e820: 000000000fff3000 - 0000000010000000 (ACPI data)
BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
255MB LOWMEM available.
Advanced speculative caching feature not present
On node 0 totalpages: 65520
zone(0): 4096 pages.
zone(1): 61424 pages.
zone(2): 0 pages.
Kernel command line: BOOT_IMAGE=k2419-ck ro root=301 ide0=ata66
ide_setup: ide0=ata66
Local APIC disabled by BIOS -- reenabling.
Found and enabled local APIC!
Initializing CPU#0
Detected 700.053 MHz processor.
Console: colour VGA+ 132x25
Calibrating delay loop... 1395.91 BogoMIPS
Memory: 254084k/262080k available (1365k kernel code, 5564k reserved, 346k data, 256k init, 0k highmem)
Dentry cache hash table entries: 32768 (order: 6, 262144 bytes)
Inode cache hash table entries: 16384 (order: 5, 131072 bytes)
Mount-cache hash table entries: 4096 (order: 3, 32768 bytes)
Buffer-cache hash table entries: 16384 (order: 4, 65536 bytes)
Page-cache hash table entries: 65536 (order: 6, 262144 bytes)
CPU: Before vendor init, caps: 0183fbff c1c7fbff 00000000, vendor = 2
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 64K (64 bytes/line)
CPU: After vendor init, caps: 0183fbff c1c7fbff 00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU: After generic, caps: 0183fbff c1c7fbff 00000000 00000000
CPU: Common caps: 0183fbff c1c7fbff 00000000 00000000
CPU: AMD Duron(tm) Processor stepping 01
Enabling fast FPU save and restore... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
enabled ExtINT on CPU#0
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
Using local APIC timer interrupts.
calibrating APIC timer ...
..... CPU clock speed is 700.0375 MHz.
..... host bus clock speed is 200.0105 MHz.
cpu: 0, clocks: 2000105, slice: 1000052
CPU0<T0:2000096,T1:1000032,D:12,S:1000052,C:2000105>
mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au)
mtrr: detected mtrr type: Intel
PCI: PCI BIOS revision 2.10 entry at 0xfb380, last bus=1
PCI: Probing PCI hardware
Disabling VIA memory write queue (PCI ID 0305, rev 02): [55] 81 & 1f -> 01
Unknown bridge resource 0: assuming transparent
PCI: Using IRQ router VIA [1106/0686] at 00:07.0
PCI: Disabling Via external APIC routing
isapnp: Scanning for PnP cards...
isapnp: Card 'Crystal Codec'
isapnp: 1 Plug & Play card detected total
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
apm: BIOS version 1.2 Flags 0x07 (Driver version 1.16)
Starting kswapd
devfs: v1.12a (20020514) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
udf: registering filesystem
JFS development version: $Name: v1_0_21 $
parport0: PC-style at 0x3bc (0x7bc) [PCSPP,TRISTATE]
parport_pc: Via 686A parallel port: io=0x3BC
pty: 512 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ DETECT_IRQ SERIAL_PCI ISAPNP enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
lp0: using parport0 (polling).
lp0: console ready
Real Time Clock Driver v1.10e
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
VP_IDE: IDE controller on PCI bus 00 dev 39
VP_IDE: chipset revision 16
VP_IDE: not 100% native mode: will probe irqs later
VP_IDE: VIA vt82c686a (rev 22) IDE UDMA66 controller on pci00:07.1
VP_IDE: ATA-66/100 forced bit set (WARNING)!!
ide0: BM-DMA at 0xe000-0xe007, BIOS settings: hda:DMA, hdb:pio
ide1: BM-DMA at 0xe008-0xe00f, BIOS settings: hdc:DMA, hdd:pio
hda: ST36421A, ATA DISK drive
hdc: SONY CDU4811, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: 12596850 sectors (6450 MB) w/256KiB Cache, CHS=784/255/63, UDMA(33)
hdc: ATAPI 48X CD-ROM drive, 120kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.12
Partition check:
/dev/ide/host0/bus0/target0/lun0: p1 p2 p3 < p5 > p4
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
loop: loaded (max 8 devices)
Linux agpgart interface v0.99 (c) Jeff Hartmann
agpgart: Maximum main memory to use for agp memory: 203M
agpgart: Detected Via Apollo Pro KT133 chipset
agpgart: AGP aperture is 64M @ 0xd0000000
<Crystal audio controller (CS4239)> at 0x534 irq 5 dma 1,3
ad1848: Interrupt test failed (IRQ5)
ad1848/cs4248 codec driver Copyright (C) by Hannu Savolainen 1993-1996
ad1848: WSS/SB detected
ad1848: ISAPnP reports 'WSS/SB' at i/o 0x534, irq 5, dma 1, 3
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 2048 buckets, 16Kbytes
TCP: Hash tables configured (established 16384 bind 16384)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
FAT: bogus logical sector size 5376
FAT: bogus logical sector size 5376
You didn't specify the type of your ufs filesystem
mount -t ufs -o ufstype=sun|sunx86|44bsd|old|hp|nextstep|netxstep-cd|openstep ...
>>>WARNING<<< Wrong ufstype may corrupt your filesystem, default is ufstype=old
ufs_read_super: bad magic number
UDF-fs DEBUG lowlevel.c:65:udf_get_last_session: CDROMMULTISESSION not supported: rc=-5
UDF-fs DEBUG super.c:1421:udf_read_super: Multi-session=0
UDF-fs DEBUG super.c:410:udf_vrs: Starting at sector 16 (2048 byte sectors)
UDF-fs: No VRS found
VFS: Mounted root (jfs filesystem) readonly.
Mounted devfs on /dev
Freeing unused kernel memory: 256k freed
Adding Swap: 248968k swap-space (priority -1)
Journalled Block Device driver loaded
kjournald starting. Commit interval 5 seconds
EXT3 FS 2.4-0.9.17, 10 Jan 2002 on ide0(3,4), internal journal
EXT3-fs: mounted filesystem with ordered data mode.
spurious 8259A interrupt: IRQ7.
program versions
gcc 2.95.3
GNU Make version 3.79.1, by Richard Stallman and Roland McGrath.
GNU ld version 2.11.93.0.2 20020207
fdformat from util-linux-2.11u
insmod version 2.4.21
fsck.jfs version 1.0.21, 12-Aug-2002
procps version 3.1.0
hdparm v5.2
tune2fs 1.27 (8-Mar-2002)
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Performance improvement with Akira Tsukamoto's Athlon copy_user patch
2002-11-19 17:34 szonyi calin
@ 2002-11-19 18:20 ` Akira Tsukamoto
2002-11-19 18:23 ` Akira Tsukamoto
1 sibling, 0 replies; 5+ messages in thread
From: Akira Tsukamoto @ 2002-11-19 18:20 UTC (permalink / raw)
To: szonyi calin; +Cc: linux-kernel, Hirokazu Takahashi, Andi Kleen
Hi Calin,
> 2.5.47 with copy user patch
>
> /dev/hda:
> Timing buffer-cache reads: 128 MB in 0.71 seconds =180.28 MB/sec
> Timing buffered disk reads: 64 MB in 4.06 seconds = 15.78 MB/sec
>
>
> vanila 2.5.47
>
> /dev/hda:
> Timing buffer-cache reads: 128 MB in 1.09 seconds =117.32 MB/sec
> Timing buffered disk reads: 64 MB in 4.05 seconds = 15.78 MB/sec
Thank you for trying,
I also been using for compiling kernel for several days,
but, as Andi mentioned, currently the aki_copy is *dangerous*
when any processes/threads ara using fpu register.
I read the code of laze FPU state saving and confirmed that
if the function does not generate exception than
'kernel_fpu_begin/end()' should assure fpu safe inside kernel.
However, it is not enough where exception could rise, as Takahashi
mentioned.
I also have benchmark for small buffer which is enough to fit in cache
which I would like to show that aki_copy does perform well for this
circumstances.
But I have something urgent todo(homework :)) and I will come back to it
as soon as possible.
Thank you,
Akira Tsukamoto
On Tue, 19 Nov 2002 18:34:16 +0100 (CET)
szonyi calin <caszonyi@yahoo.com> mentioned:
> Hello everybody
>
> I patched yesterday the 2.5.47 vanilla kernel with Akira
> Tsukamoto's Athlon copy_user patch and tried a
> hdparm -tT /dev/hda
>
> The results (atached) are impressive compared with both the
> vanilla 2.5.47 kernel and the 2.4.19 with ck-rl5 patches (from
> colivas)
>
> Bye
>
> Calin
>
>
>
> =====
> --
> A mouse is a device used to point at
> the xterm you want to type in.
> Kim Alm on a.s.r.
>
> ___________________________________________________________
> Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en fran軋is !
> Yahoo! Mail : http://fr.mail.yahoo.com
--
Akira Tsukamoto <akira-t@suna-asobi.com, at541@columbia.edu>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Performance improvement with Akira Tsukamoto's Athlon copy_user patch
2002-11-19 17:34 szonyi calin
2002-11-19 18:20 ` Akira Tsukamoto
@ 2002-11-19 18:23 ` Akira Tsukamoto
1 sibling, 0 replies; 5+ messages in thread
From: Akira Tsukamoto @ 2002-11-19 18:23 UTC (permalink / raw)
To: szonyi calin; +Cc: linux-kernel, Hirokazu Takahashi, Andi Kleen
Hi Calin,
> 2.5.47 with copy user patch
>
> /dev/hda:
> Timing buffer-cache reads: 128 MB in 0.71 seconds =180.28 MB/sec
> Timing buffered disk reads: 64 MB in 4.06 seconds = 15.78 MB/sec
>
>
> vanila 2.5.47
>
> /dev/hda:
> Timing buffer-cache reads: 128 MB in 1.09 seconds =117.32 MB/sec
> Timing buffered disk reads: 64 MB in 4.05 seconds = 15.78 MB/sec
Thank you for trying,
I also been using for compiling kernel for several days,
but, as Andi mentioned, currently the aki_copy is *dangerous*
when any processes/threads ara using fpu register.
I read the code of laze FPU state saving and confirmed that
if the function does not generate exception than
'kernel_fpu_begin/end()' should assure fpu safe inside kernel.
However, it is not enough where exception could rise, as Takahashi
mentioned.
I also have benchmark for small buffer which is enough to fit in cache
which I would like to show that aki_copy does perform well for this
circumstances.
But I have something urgent todo(homework :)) and I will come back to it
as soon as possible.
Thank you,
Akira Tsukamoto
On Tue, 19 Nov 2002 18:34:16 +0100 (CET)
szonyi calin <caszonyi@yahoo.com> mentioned:
> Hello everybody
>
> I patched yesterday the 2.5.47 vanilla kernel with Akira
> Tsukamoto's Athlon copy_user patch and tried a
> hdparm -tT /dev/hda
>
> The results (atached) are impressive compared with both the
> vanilla 2.5.47 kernel and the 2.4.19 with ck-rl5 patches (from
> colivas)
>
> Bye
>
> Calin
>
>
>
> =====
> --
> A mouse is a device used to point at
> the xterm you want to type in.
> Kim Alm on a.s.r.
>
> ___________________________________________________________
> Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en fran軋is !
> Yahoo! Mail : http://fr.mail.yahoo.com
--
Akira Tsukamoto <akira-t@suna-asobi.com, at541@columbia.edu>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Performance improvement with Akira Tsukamoto's Athlon copy_user patch
@ 2002-11-19 19:18 Manfred Spraul
2002-11-20 6:03 ` Akira Tsukamoto
0 siblings, 1 reply; 5+ messages in thread
From: Manfred Spraul @ 2002-11-19 19:18 UTC (permalink / raw)
To: Akira Tsukamoto; +Cc: linux-kernel
>I read the code of laze FPU state saving and confirmed that
>if the function does not generate exception than
>'kernel_fpu_begin/end()' should assure fpu safe inside kernel.
>
>However, it is not enough where exception could rise, as Takahashi
>mentioned.
I had prototyped an exception safe kfpu framework, but then I didn't have the time to submit/cleanup it.
http://www.colorfullife.com/~manfred/linux-2.5/sse/patch-kfpu
Have you tried SSE based copy_to_user? With SSE, you can just save the affected registers, without unexpected sideeffects.
--
Manfred
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Performance improvement with Akira Tsukamoto's Athlon copy_user patch
2002-11-19 19:18 Performance improvement with Akira Tsukamoto's Athlon copy_user patch Manfred Spraul
@ 2002-11-20 6:03 ` Akira Tsukamoto
0 siblings, 0 replies; 5+ messages in thread
From: Akira Tsukamoto @ 2002-11-20 6:03 UTC (permalink / raw)
To: Manfred Spraul
Cc: Akira Tsukamoto, linux-kernel, Hirokazu Takahashi, Andi Kleen,
Andrew Morton
Not deeply but I looked your exception safe kfpu.
'kernel_fpu_begin/end' was like delayed FPU sate switching,
on the other hand, kfpu is more abstracted FPU semaphore
which works per cpu.
I have not compiled it but it should work fine on 2.4, but
have some questions using kfpu for 2.5.
1)Is 'per CPU' safe for 2.5?
I think the new O(1) scheduler has process migration between cpus
and I am a bit afraid.
If not safe, any good idea for it?
May be per task could be safer even not optimal for smp?
2)Need to add preempt_disable/enable().
3)struct kfpuacquire {} kfpuacquire; is in the kfpu.h header,
might cause compile problem.
> Have you tried SSE based copy_to_user? With SSE, you can just save the affected registers, without unexpected sideeffects.
No, my CPU don't run SSE......:)
By the way,
do you have separeted patch only for kfpu?
Thank you,
Akira Tsukamoto
On Tue, 19 Nov 2002 20:18:25 +0100
Manfred Spraul <manfred@colorfullife.com> mentioned:
> >I read the code of laze FPU state saving and confirmed that
> >if the function does not generate exception than
> >'kernel_fpu_begin/end()' should assure fpu safe inside kernel.
> >
> >However, it is not enough where exception could rise, as Takahashi
> >mentioned.
>
>
> I had prototyped an exception safe kfpu framework, but then I didn't have the time to submit/cleanup it.
>
> http://www.colorfullife.com/~manfred/linux-2.5/sse/patch-kfpu
>
> Have you tried SSE based copy_to_user? With SSE, you can just save the affected registers, without unexpected sideeffects.
>
> --
> Manfred
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
Akira Tsukamoto <akira-t@suna-asobi.com, at541@columbia.edu>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2002-11-20 5:57 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-11-19 19:18 Performance improvement with Akira Tsukamoto's Athlon copy_user patch Manfred Spraul
2002-11-20 6:03 ` Akira Tsukamoto
-- strict thread matches above, loose matches on Subject: below --
2002-11-19 17:34 szonyi calin
2002-11-19 18:20 ` Akira Tsukamoto
2002-11-19 18:23 ` Akira Tsukamoto
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox