ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.0-test3/2.6.0-test3-mm1
. Manfred might have fixed the long-standing task_struct use-after-free
bug which happens occasionally on preemptible kernels.
. This kernel immediately triplefaults when compiled with gcc-2.95.3 and
CONFIG_KGDB. It is due to compiling with "-ggdb" or "-gdwarf-2". When
compiled with "-g" it works OK, but gdb screws that up.
Moral: use a later gcc if you're a kgdb user.
. Lots of fixes for random things, as usual. Keep 'em coming.
Changes since 2.6.0-test2-mm5:
linus.patch
Latest from Linus
-ax8817x-build-fix.patch
-remove-PF_READAHEAD.patch
-floppy-smp-fixes.patch
-dm-1-module-param.patch
-dm-2-blk.patch
-dm-3-use-hex.patch
-dm-4-64-bit-ioctls.patch
-dm-5-missing-include.patch
-dm-6-sector_div.patch
-dm-7-rename-resume.patch
-reiserfs-savelinks-endianness-fix.patch
-reiserfs-enospc-fix.patch
-reiserfs-link-unlink-race-fix.patch
-reiserfs-remount-locking-fix.patch
-mremap-atomicity-fix.patch
-ide-cd-oops-fix.patch
-usercopy-might_sleep-checks.patch
-panic-nmi-watchdog-fix.patch
-ide-capacity-fixes.patch
-export-lookup_create.patch
-free_all_bootmem_core-fix.patch
-x86_64-nmi-watchog-doc-update.patch
-do_setitimer-cleanup.patch
-itimer-rounding-and-resolution-fix.patch
-ext3-aborted-journal-fix.patch
-create-struct-irq_desc.patch
-mtrr-hang-fix.patch
-matroxfb-updates.patch
-k7-mce-fix.patch
-init_page_private.patch
Merged
-kgdb-remove-cpu_callout_map.patch
-kgdb-use-ggdb.patch
-kgdb-ga-docco-fixes.patch
-kgdb-sysrq-g-fix.patch
-kgdb-serial-fix.patch
Folded into kgdb-ga.patch (new release from George Anzinger)
+kgdb-build-fix.patch
+kgdb-spinlock-fix.patch
kgbd touchups.
-cpumask-mips-fix.patch
-cpumask-arith-fix.patch
-cpumask-physid-fix.patch
-cpumask_t-up-build-fix.patch
-cpumask_t-random-fixes.patch
-next_cpu-fix.patch
-cpumask-ppc-fixes.patch
-flush_cpumask-atomicity-fix.patch
Folded into cpumask_t-1.patch
+fadvise-fix.patch
POSIX_FADV_DONTNEED wasn't invalidating the right parts of the file.
+fadvise64-64.patch
A 32-bit `len' arg to fadvise() is unsuitable. Create a new syscall which
takes a 64-bit length.
-ia64-percpu-revert.patch
This wasn't needed any more
-ds-09-vicam-usercopy-fix.patch
Alan said this wasn't right.
+x440-fixes.patch
Various simplifications
+ppc-64-bit-stat.patch
+64-bit-dev_t-init_rd-fixes.patch
64-bit dev_t fixes
+o14int.patch
+o14int-div-fix.patch
+o14.1int.patch
CPU scheduler stuff from Con.
-nforce2-acpi-fixes-fix.patch
Folded into nforce2-acpi-fixes.patch
+4g4g-vmlinux-update-got-lost.patch
Restore a lost chunk.
-xfs-use-after-free-fix.patch
This patch isn't right and wasn't supposed to be in test2-mm5.
-as-no-trinary-states.patch
This is broken.
-devfs-pty-slave-fix.patch
Wrong. Mount /dev/pts atthe right time.
-slab-debug-updates.patch
For some reason this patch is causing hangs when starting init with the
4g/4g split enabled. Drop it out for now.
-large-TCQ-fix.patch
nacked by Jens.
+pipe-rofs-fix.patch
Fix the "write to a fifo alters a read-only fs" bug. (Haven't tested it
yet)
+reiserfs-bogus-kunmap-removal.patch
Remove bogus kunmap on a rare path.
+reiserfs-xattr-fix.patch
Unprivileged users must not alter immutable attributes.
+p4-thermal-interrupt-fix.patch
P4 thermal interrupt vector isn't getting set on SMP.
+nbd-race-fixes.patch
NBD fixes
+disable-raid5-readahead.patch
Work around RAID5 data loss problems
+pnp_get_info-oops-fix.patch
Fix oopses reading /proc/net/pnp
+cciss-warning-fix.patch
+vt_ioctl-warning-fixes.patch
Compile warning fixes
+task-refcounting-fix.patch
Might fix the task_struct use-after-free bug.
+zap_other_threads-fix.patch
Fix group leader attach/detach code.
+probe-udf-after-reiserfs.patch
Change rootfs autodetection to try reiserfs before UDF
+nfsd-timestamp-fix.patch
Fix NFS timestamp problems
+input-use-after-free-checks.patch
Debug checks
+ide-scsi-queue-conversion-fix.patch
ide-scsi probable-oops fix.
+bluetooth-deref-fix.patch
Make bluetooth work.
+ikconfig-enable.patch
Config option to enable /proc/ikconfig
+export-video_proc_entry.patch
Symbol export for USB media devices
+trident-spin_unlock-fix.patch
Sound card SMP deadlock fix
+handle-old-dev_t-format.patch
Might fix the boot problems wherein "root=0302" isn't getting parsed.
+firmware-loader-needs-hotplug.patch
Missing config dependency.
+aio-readahead-speedup.patch
Make streaming AIO do readahead nicely.
All 153 patches:
linus.patch
mm.patch
add -mmN to EXTRAVERSION
kgdb-ga.patch
kgdb stub for ia32 (George Anzinger's one)
kgdbL warning fix
kgdb-warning-fix.patch
kgdbL warning fix
kgdb-build-fix.patch
kgdb-spinlock-fix.patch
vmlinux-generation-fix.patch
Fix vmlinux.lds.s generation
cpumask_t-1.patch
cpumask_t: allow more than BITS_PER_LONG CPUs
cpumask_t fix for s390
fix cpumask_t for s390
Fix cpumask changes for x86_64
fix cpumask_t for sparc64
cpumask_t: more gcc workarounds
cpumask_t gcc bug workarounds
cpumask_t: build fix
cpumask: IPS fixups
cpumask: avoid using structs for NR_CPUS<BITS_PER_LONG
cpumask: physid fixes
cpumask_t uniproc build fix
cpumask_t fixes
cpumask: next_cpu fix
flush_cpumask atomicity fix
kgdb-cpumask_t.patch
fadvise-fix.patch
fadvise(POSIX_FADV_DONTNEED) fix
fadvise64-64.patch
sys_fadvise64_64
config_spinline.patch
uninline spinlocks for profiling accuracy.
ppc64-bar-0-fix.patch
Allow PCI BARs that start at 0
ppc64-reloc_hide.patch
ppc64-semaphore-reimplementation.patch
ppc64: use the ia32 semaphore implementation
ppc64-local.patch
ppc64: local.h implementation
ppc64-sched_clock.patch
ppc64: sched_clock()
sym-do-160.patch
make the SYM driver do 160 MB/sec
x86_64-fixes.patch
x86_64 fixes
delay-ksoftirqd-fallback.patch
Try harded in IRQ context before falling back to ksoftirqd
rcu-grace-period.patch
Monitor RCU grace period
intel8x0-cleanup.patch
intel8x0 cleanups
bio-too-big-fix.patch
Fix raid "bio too big" failures
ppa-fix.patch
ppc fix
x440-fixes.patch
From: Matthew Dobson <[email protected]>
Subject: [patch] 16-way x440 breakage
linux-isp-2.patch
linux-isp-2-fix-again.patch
lost feral fix
feral-bounce-fix.patch
Feral driver - highmem issues
feral-bounce-fix-2.patch
Feral driver bouncing fix
list_del-debug.patch
list_del debug check
print-build-options-on-oops.patch
print a few config options on oops
show_task-free-stack-fix.patch
show_task() fix and cleanup
put_task_struct-debug.patch
ia32-mknod64.patch
mknod64 for ia32
ext2-64-bit-special-inodes.patch
ext2: support for 64-bit device nodes
ext3-64-bit-special-inodes.patch
ext3: support for 64-bit device nodes
64-bit-dev_t-kdev_t.patch
64-bit dev_t and kdev_t
64-bit-dev_t-other-archs.patch
enable 64-bit dev_t for other archs
mknod64-64-bit-fix.patch
dev_t: fix mknod for 64-bit archs
ustat64.patch
ustat64
ppc-64-bit-stat.patch
fix ppc stat.h for 64-bit dev_t
64-bit-dev_t-init_rd-fixes.patch
initrd fixes for 64-bit dev_t
oops-dump-preceding-code.patch
i386 oops output: dump preceding code
lockmeter.patch
printk-oops-mangle-fix.patch
disentangle printk's whilst oopsing on SMP
20-odirect_enable.patch
21-odirect_cruft.patch
22-read_proc.patch
23-write_proc.patch
24-commit_proc.patch
25-odirect.patch
nfs-O_DIRECT-always-enabled.patch
Force CONFIG_NFS_DIRECTIO
kjournald-PF_SYNCWRITE.patch
sched-2.6.0-test2-mm2-A3.patch
sched-2.6.0-test2-mm2-A3
ppc-sched_clock.patch
sched-warning-fix.patch
sched-balance-tuning.patch
CPU scheduler balancing fix
sched-no-tsc-on-numa.patch
Subject: Re: Fw: Re: 2.6.0-test2-mm3
o12.2int.patch
O12.2int for interactivity
o12.3.patch
O12.3 for interactivity
o13int.patch
O13int for interactivity
o13.1int.patch
O13.1int
o14int.patch
O14int
o14int-div-fix.patch
o14int 64-bit-divide fix
o14.1int.patch
O14.1int
ext3-block-allocation-cleanup.patch
nfs-revert-backoff.patch
nfs: revert backoff changes
1000HZ-time-accuracy-fix.patch
missing #if for 1000 HZ
signal-race-fix.patch
signal handling race condition causing reboot hangs
vmscan-defer-writepage.patch
vmscan: give dirty referenced pages another pass around the LRU
blacklist-asus-L3800C-dmi.patch
add ASUS l3800P to DMI black list
nforce2-acpi-fixes.patch
ACPI patch which fixes all my IRQ problems on nforce2
timer-race-fixes.patch
timer race fixes
local-apic-enable-fixes.patch
Local APIC enable fixes
p00001_synaptics-restore-on-close.patch
p00002_psmouse-reset-timeout.patch
p00003_synaptics-multi-button.patch
p00004_synaptics-optional.patch
p00005_synaptics-pass-through.patch
p00006_psmouse-suspend-resume.patch
p00007_synaptics-old-proto.patch
synaptics-mode-set.patch
Synaptics mode setting
keyboard-resend-fix.patch
keyboard resend fix
kobject-paranoia-checks.patch
Driver core and kobject paranoia checks
4g-2.6.0-test2-mm2-A5.patch
4G/4G split patch
4G/4G: remove debug code
4g4g: pmd fix
4g/4g: fixes from Bill
4g4g: fpu emulation fix
4g/4g usercopy atomicity fix
4G/4G: remove debug code
4g4g: pmd fix
4g/4g: fixes from Bill
4g4g: fpu emulation fix
4g/4g usercopy atomicity fix
4g4g-vmlinux-update-got-lost.patch
4g4g-do_page_fault-cleanup.patch
4G/4G: remove debug code
4g4g-cleanups.patch
kgdb-4g4g-fix-2.patch
4g4g-config-fix.patch
4g4g-pmd-fix.patch
4g4g: pmd fix
4g4g-wli-fixes.patch
4g/4g: fixes from Bill
4g4g-fpu-fix.patch
4g4g: fpu emulation fix
4g4g-show_registers-fix.patch
4g4g: show_registers() fix
4g4g-pin_page-atomicity-fix.patch
4g/4g usercopy atomicity fix
4g4g-remove-touch_all_pages.patch
ppc-fixes.patch
make mm4 compile on ppc
aic7xxx_old-oops-fix.patch
awe-core.patch
async write errors: report truncate and io errors on async writes
async write errors core: fixes
awe-use-gfp_flags.patch
async write errors: use flags in address space
async write errors: mapping->flags fixes
awe-use-gfp_flags-braino.patch
awe-fix-truncate-errors.patch
async write errors: fix spurious fs truncate errors
async write errors: truncate handling fixes
as-remove-hash-valid-stuff.patch
AS: remove hash valid stuff
random-locking-fixes.patch
random: SMP locking
random-accounting-and-sleeping-fixes.patch
random: accounting and sleeping fixes
rt-tasks-special-vm-treatment.patch
real-time enhanced page allocator and throttling
rt-tasks-special-vm-treatment-2.patch
xfs-uptodate-page-fix.patch
fix buffer layer error at fs/buffer.c:2800 when unlinking XFS files
standalone-elevator-noop.patch
standalone elevator noop
pipe-rofs-fix.patch
pipe.c: don't write to readonly filesystems
reiserfs-bogus-kunmap-removal.patch
reiserfs: remove unneeded kunmap
reiserfs-xattr-fix.patch
reiserfs: Fix handling of some extended inode attributes
p4-thermal-interrupt-fix.patch
Setup P4 thermal interrupt vector on UP
nbd-race-fixes.patch
nbd: fix send/receive/shutdown/disconnect races
disable-raid5-readahead.patch
raid5: disable readahead
pnp_get_info-oops-fix.patch
/proc/net/pnp oops fix
cciss-warning-fix.patch
cciss warning fix
vt_ioctl-warning-fixes.patch
vt_ioctl warning fixes
task-refcounting-fix.patch
fix task struct refcount bug
zap_other_threads-fix.patch
zap_other_threads() detaches thread group leader
probe-udf-after-reiserfs.patch
probe UDF after reiserfs
nfsd-timestamp-fix.patch
Fix protocol bugs with NFS and nanoseconds
input-use-after-free-checks.patch
input layer debug checks
ide-scsi-queue-conversion-fix.patch
fix ide-scsi for ide_drive_t->queue change
bluetooth-deref-fix.patch
BUG fix for drivers/bluetooth/hci_usb.c
ikconfig-enable.patch
enable the ikconfig stuff in config
export-video_proc_entry.patch
export video_proc_entry()to modules
trident-spin_unlock-fix.patch
fix trident.c missing unlock
handle-old-dev_t-format.patch
handle old-style "root=" arguments
firmware-loader-needs-hotplug.patch
firmware loader requires hotplug
aio-mm-refcounting-fix.patch
fix /proc mm_struct refcounting bug
aio-01-retry.patch
AIO: Core retry infrastructure
io_submit_one-EINVAL-fix.patch
Fix aio process hang on EINVAL
aio-02-lockpage_wq.patch
AIO: Async page wait
aio-03-fs_read.patch
AIO: Filesystem aio read
aio-04-buffer_wq.patch
AIO: Async buffer wait
aio-05-fs_write.patch
AIO: Filesystem aio write
aio-05-fs_write-fix.patch
aio-06-bread_wq.patch
AIO: Async block read
aio-06-bread_wq-fix.patch
aio-07-ext2getblk_wq.patch
AIO: Async get block for ext2
O_SYNC-speedup-2.patch
speed up O_SYNC writes
aio-09-o_sync.patch
aio O_SYNC
aio-10-BUG-fix.patch
AIO: fix a BUG
aio-11-workqueue-flush.patch
AIO: flush workqueues before destroying ioctx'es
aio-12-readahead.patch
AIO: readahead fixes
aio-dio-no-readahead.patch
aio O_DIRECT no readahead
lock_buffer_wq-fix.patch
lock_buffer_wq fix
unuse_mm-locked.patch
AIO: hold the context lock across unuse_mm
aio-take-task_lock.patch
From: Suparna Bhattacharya <[email protected]>
Subject: Re: 2.5.72-mm1 - Under heavy testing with AIO,.. vmstat seems to blow the kernel
aio-O_SYNC-fix.patch
Unify o_sync changes for aio and regular writes
aio-readahead-rework.patch
Unified page range readahead for aio and regular reads
aio-readahead-speedup.patch
Readahead issues and AIO read speedup
Gabor MICSKO <[email protected]> wrote:
>
> drivers/media/video/videodev.c:398: error: `video_proc_entry' undeclared
> here (not in a function)
Just delete that line.
Hi!
compile error in drivers/media/video/videodev.c
drivers/media/video/videodev.c:398: error: `video_proc_entry' undeclared
here (not in a function)
drivers/media/video/videodev.c:398: error: initializer element is not
constant
drivers/media/video/videodev.c:398: error: (near initialization for
`__ksymtab_video_proc_entry.value')
make[3]: *** [drivers/media/video/videodev.o] Error 1
make[2]: *** [drivers/media/video] Error 2
make[1]: *** [drivers/media] Error 2
make: *** [drivers] Error 2
2.6.0-test3 is fine with the same .config
.config attached
--
Windows not found
(C)heers, (P)arty or (D)ance?
-----------------------------------
Micsk? G?bor
Compaq Accredited Platform Specialist, System Engineer (APS, ASE)
Szint?zis Computer Rendszerh?z Rt.
H-9021 Gy?r, Tihanyi ?rp?d ?t 2.
Tel: +36-96-502-216
Fax: +36-96-318-658
E-mail: [email protected]
Web: http://www.hup.hu/
Hi,
> kgdb-ga.patch
> kgdb stub for ia32 (George Anzinger's one)
> kgdbL warning fix
that patch sets DEBUG_INFO to y by default, even if whether DEBUG_KERNEL nor
KGDB is enabled. The attached patch changes this to enable DEBUG_INFO by
default only if KGDB is enabled.
Please apply...
Best regards
Thomas Schlichter
Andrew,
Em Dom, 2003-08-10 ?s 00:39, Andrew Morton escreveu:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.0-test3/2.6.0-test3-mm1
I'm getting this warning with gcc-3.3.1:
drivers/char/keyboard.c: In function `k_fn':
drivers/char/keyboard.c:665: warning: comparison is always true due
to limited range of data type
gcc seems right, because the ``value'' variable only go to
255 and the size of ``func_table'' in my system is 256.
Even if gcc transforms unsigned char to a higher in this case, its
not solve the problem, because the value in ``value'' will use only
8 bits (this is made by the K_VAL() macro).
thanks,
PS: I'm getting this with 2.6.0-test3 too.
--
Luiz Fernando N. Capitulino
<[email protected]>
<http://www.telecentros.sp.gov.br>
--Andrew Morton <[email protected]> wrote (on Saturday, August 09, 2003 20:39:43 -0700):
> . This kernel immediately triplefaults when compiled with gcc-2.95.3 and
> CONFIG_KGDB. It is due to compiling with "-ggdb" or "-gdwarf-2". When
> compiled with "-g" it works OK, but gdb screws that up.
>
> Moral: use a later gcc if you're a kgdb user.
Well, on the upside, 2.95.4 (Debian Woody) seems to work fine, so you don't
have to drown yourself in the pit of slow treacle. However, after printing
"kgdb <20030806.1101.35> : port =3f8, IRQ=4, divisor =1", it spews out
garbage to the serial console (looks like 8-bit data or something).
I didn't enable it on the cmd line, just compiled it in ... does that
trigger it for you?
-----
Degredation on kernbench is still there:
Kernbench: (make -j N vmlinux, where N = 16 x num_cpus)
Elapsed System User CPU
2.6.0-test3 45.97 115.83 571.93 1494.50
2.6.0-test3-mm1 46.43 122.78 571.87 1496.00
Quite a bit of extra sys time. I thought the suspected part of the sched
changes got backed out, but maybe I'm just not following it ...
------
4/4 split is still being wierd for me (same pattern as before). I think
it's just the rc script crapping out which causes the hostname not to
get set, or the rootfs to get remounted r/w.
M.
On Tue, 12 Aug 2003 00:35, Martin J. Bligh wrote:
> Degredation on kernbench is still there:
>
> Kernbench: (make -j N vmlinux, where N = 16 x num_cpus)
> Elapsed System User CPU
> 2.6.0-test3 45.97 115.83 571.93 1494.50
> 2.6.0-test3-mm1 46.43 122.78 571.87 1496.00
>
> Quite a bit of extra sys time. I thought the suspected part of the sched
> changes got backed out, but maybe I'm just not following it ...
It was plus and minus. I've improved my hacks, but the A3 patch nanosecond
timing will add extra overhead/locking. I'm not sure how you can compare
these to the last ones you posted:
Elapsed System User CPU
2.6.0-test2 46.05 115.20 571.75 1491.25
2.6.0-test2-con 46.98 121.02 583.55 1498.75
2.6.0-test2-mm1 46.95 121.18 582.00 1497.50
I'll take a stab in the dark and say the nanosecond timing is a big part now.
Backing out all the O*int patches in broken-out of 2.6.0-test3-mm1 should
help identify that.
I have an idea on how to trim the nanosecond overhead as well. The sched clock
should be called if the timing is less than say two jiffies only. That will
mean it will be called far less frequently.
Con
On Mon, Aug 11, 2003 at 07:35:31AM -0700, Martin J. Bligh wrote:
> Degredation on kernbench is still there:
> Kernbench: (make -j N vmlinux, where N = 16 x num_cpus)
> Elapsed System User CPU
> 2.6.0-test3 45.97 115.83 571.93 1494.50
> 2.6.0-test3-mm1 46.43 122.78 571.87 1496.00
> Quite a bit of extra sys time. I thought the suspected part of the sched
> changes got backed out, but maybe I'm just not following it ...
Is this with or without the unit conversion fix for the load balancer?
It will be load balancing extra-aggressively without the fix.
-- wli
> On Mon, Aug 11, 2003 at 07:35:31AM -0700, Martin J. Bligh wrote:
>> Degredation on kernbench is still there:
>> Kernbench: (make -j N vmlinux, where N = 16 x num_cpus)
>> Elapsed System User CPU
>> 2.6.0-test3 45.97 115.83 571.93 1494.50
>> 2.6.0-test3-mm1 46.43 122.78 571.87 1496.00
>> Quite a bit of extra sys time. I thought the suspected part of the sched
>> changes got backed out, but maybe I'm just not following it ...
>
> Is this with or without the unit conversion fix for the load balancer?
>
> It will be load balancing extra-aggressively without the fix.
This is virgin ... can you point me back to the fix you mention?
I missed that one.
M.
"Martin J. Bligh" <[email protected]> wrote:
>
> Degredation on kernbench is still there:
>
> Kernbench: (make -j N vmlinux, where N = 16 x num_cpus)
> Elapsed System User CPU
> 2.6.0-test3 45.97 115.83 571.93 1494.50
> 2.6.0-test3-mm1 46.43 122.78 571.87 1496.00
>
> Quite a bit of extra sys time.
Increased system is a surprise. Profiles would be interesting, thanks.
--On Monday, August 11, 2003 11:39:43 -0700 Andrew Morton <[email protected]> wrote:
> "Martin J. Bligh" <[email protected]> wrote:
>>
>> Degredation on kernbench is still there:
>>
>> Kernbench: (make -j N vmlinux, where N = 16 x num_cpus)
>> Elapsed System User CPU
>> 2.6.0-test3 45.97 115.83 571.93 1494.50
>> 2.6.0-test3-mm1 46.43 122.78 571.87 1496.00
>>
>> Quite a bit of extra sys time.
>
> Increased system is a surprise. Profiles would be interesting, thanks.
>
Buggered if I know what Letext is doing there ???
6577 3.9% total
1157 0.0% Letext
937 0.0% direct_strnlen_user
748 440.0% filp_close
722 21.2% __copy_from_user_ll
610 2.6% page_remove_rmap
492 487.1% file_ra_state_init
452 12.4% find_get_page
405 7.6% __copy_to_user_ll
402 28.6% schedule
386 0.0% kpmd_ctor
348 4.4% __d_lookup
310 16.6% atomic_dec_and_lock
300 174.4% may_open
274 16.3% buffered_rmqueue
225 1.6% do_anonymous_page
206 30.9% __wake_up
193 12.3% kmem_cache_free
124 0.0% direct_strncpy_from_user
119 6.5% path_lookup
...
-112 -100.0% strncpy_from_user
-117 -1.8% page_add_rmap
-149 -0.3% default_idle
-161 -100.0% .text.lock.dcache
-207 -100.0% .text.lock.filemap
-277 -78.5% dentry_open
-297 -65.6% do_page_cache_readahead
-347 -100.0% pgd_ctor
-375 -100.0% .text.lock.file_table
-867 -100.0% strnlen_user
On Tue, 12 Aug 2003 04:05, William Lee Irwin III wrote:
> On Mon, Aug 11, 2003 at 07:35:31AM -0700, Martin J. Bligh wrote:
> > Degredation on kernbench is still there:
> > Kernbench: (make -j N vmlinux, where N = 16 x num_cpus)
> > Elapsed System User CPU
> > 2.6.0-test3 45.97 115.83 571.93 1494.50
> > 2.6.0-test3-mm1 46.43 122.78 571.87 1496.00
> > Quite a bit of extra sys time. I thought the suspected part of the sched
> > changes got backed out, but maybe I'm just not following it ...
>
> Is this with or without the unit conversion fix for the load balancer?
>
> It will be load balancing extra-aggressively without the fix.
Yes, test3-mm1 includes load balancing fix you suggested in an akpm modified
form.
Con
On Mon, Aug 11, 2003 at 01:17:04PM -0700, Martin J. Bligh wrote:
> Buggered if I know what Letext is doing there ???
> 6577 3.9% total
> 1157 0.0% Letext
> 937 0.0% direct_strnlen_user
> 748 440.0% filp_close
> 722 21.2% __copy_from_user_ll
> 610 2.6% page_remove_rmap
> 492 487.1% file_ra_state_init
> 452 12.4% find_get_page
> 405 7.6% __copy_to_user_ll
> 402 28.6% schedule
> 386 0.0% kpmd_ctor
> 348 4.4% __d_lookup
> 310 16.6% atomic_dec_and_lock
> 300 174.4% may_open
You can figure out what it is by reading addresses directly out of
/proc/profile that would correspond to it (i.e. modifying readprofile)
and correlating it with an area of text in a disassembled kernel.
kpmd_ctor() is unusual; how many runs does this profile represent?
Does it represent the first run? Ideally, all your kernel pmd's should
be cached. If it's not the first run, then logged slab cache statistics
would be interesting to determine whether this is still the case even
while effective cacheing is going on or whether slab cache reaping is
blowing these things away (i.e. either ineffective cacheing is happening
or for some reason cacheing them isn't good enough).
Of course, it would probably be better to deal with first-order effects
first. On that note, how many profile hits total? How many runs is this
summed together from? Which run is this (numerically in the order you
ran them) if the profiles are from only one run?
-- wli
On Tue, 12 Aug 2003 04:05, William Lee Irwin III wrote:
>> Is this with or without the unit conversion fix for the load balancer?
>> It will be load balancing extra-aggressively without the fix.
On Tue, Aug 12, 2003 at 07:55:54AM +1000, Con Kolivas wrote:
> Yes, test3-mm1 includes load balancing fix you suggested in an akpm modified
> form.
Scratch that theory; I guess we're waiting to find out what Letext is.
-- wli
> On Mon, Aug 11, 2003 at 01:17:04PM -0700, Martin J. Bligh wrote:
>> Buggered if I know what Letext is doing there ???
>> 6577 3.9% total
>> 1157 0.0% Letext
>> 937 0.0% direct_strnlen_user
>> 748 440.0% filp_close
>> 722 21.2% __copy_from_user_ll
>> 610 2.6% page_remove_rmap
>> 492 487.1% file_ra_state_init
>> 452 12.4% find_get_page
>> 405 7.6% __copy_to_user_ll
>> 402 28.6% schedule
>> 386 0.0% kpmd_ctor
>> 348 4.4% __d_lookup
>> 310 16.6% atomic_dec_and_lock
>> 300 174.4% may_open
>
> You can figure out what it is by reading addresses directly out of
> /proc/profile that would correspond to it (i.e. modifying readprofile)
> and correlating it with an area of text in a disassembled kernel.
Was more interested in which patch screwed up the profiling really ...
I suspect someone knows already ;-)
> kpmd_ctor() is unusual; how many runs does this profile represent?
> Does it represent the first run? Ideally, all your kernel pmd's should
> be cached. If it's not the first run, then logged slab cache statistics
> would be interesting to determine whether this is still the case even
> while effective cacheing is going on or whether slab cache reaping is
> blowing these things away (i.e. either ineffective cacheing is happening
> or for some reason cacheing them isn't good enough).
It's the average of 5 runs, after an initial warmup run which is discarded.
> Of course, it would probably be better to deal with first-order effects
> first. On that note, how many profile hits total? How many runs is this
> summed together from? Which run is this (numerically in the order you
> ran them) if the profiles are from only one run?
See above.
M.
>> On Mon, Aug 11, 2003 at 01:17:04PM -0700, Martin J. Bligh wrote:
>>> Buggered if I know what Letext is doing there ???
>>> 6577 3.9% total
>>> 1157 0.0% Letext
>>> 937 0.0% direct_strnlen_user
>>> 748 440.0% filp_close
>>> 722 21.2% __copy_from_user_ll
>>> 610 2.6% page_remove_rmap
>>> 492 487.1% file_ra_state_init
>>> 452 12.4% find_get_page
>>> 405 7.6% __copy_to_user_ll
>>> 402 28.6% schedule
>>> 386 0.0% kpmd_ctor
>>> 348 4.4% __d_lookup
>>> 310 16.6% atomic_dec_and_lock
>>> 300 174.4% may_open
>>
>> You can figure out what it is by reading addresses directly out of
>> /proc/profile that would correspond to it (i.e. modifying readprofile)
>> and correlating it with an area of text in a disassembled kernel.
>
> Was more interested in which patch screwed up the profiling really ...
> I suspect someone knows already ;-)
Looks to me like all the .text.lock.foo stuff got dumped under Letext
actually .... oops. Sometime between test2-mm1 and test2-mm3, I think?
M.
> On Mon, Aug 11, 2003 at 01:17:04PM -0700, Martin J. Bligh wrote:
>> kpmd_ctor() is unusual; how many runs does this profile represent?
>> Does it represent the first run? Ideally, all your kernel pmd's should
>> be cached. If it's not the first run, then logged slab cache statistics
>> would be interesting to determine whether this is still the case even
>> while effective cacheing is going on or whether slab cache reaping is
>> blowing these things away (i.e. either ineffective cacheing is happening
>> or for some reason cacheing them isn't good enough).
On Mon, Aug 11, 2003 at 03:50:29PM -0700, Martin J. Bligh wrote:
> It's the average of 5 runs, after an initial warmup run which is discarded.
Okay, logging /proc/slabinfo and /proc/meminfo at various points
throughout the run would be helpful here.
-- wli
Thomas Schlichter wrote:
> Hi,
>
>
>>kgdb-ga.patch
>> kgdb stub for ia32 (George Anzinger's one)
>> kgdbL warning fix
>
>
> that patch sets DEBUG_INFO to y by default, even if whether DEBUG_KERNEL nor
> KGDB is enabled. The attached patch changes this to enable DEBUG_INFO by
> default only if KGDB is enabled.
Looks good to me, but.... just what does this turn on? Its been a
long time and me thinks a wee comment here would help me remember next
time.
-g
>
> Please apply...
>
> Best regards
> Thomas Schlichter
>
>
> ------------------------------------------------------------------------
>
> --- linux-2.6.0-test3-mm1/arch/i386/Kconfig.orig Sun Aug 10 14:25:13 2003
> +++ linux-2.6.0-test3-mm1/arch/i386/Kconfig Sun Aug 10 14:25:56 2003
> @@ -1462,6 +1462,7 @@
>
> config DEBUG_INFO
> bool
> + depends on KGDB
> default y
>
> config KGDB_MORE
--
George Anzinger [email protected]
High-res-timers: http://sourceforge.net/projects/high-res-timers/
Preemption patch: http://www.kernel.org/pub/linux/kernel/people/rml
On Mon, Aug 11, 2003 at 11:26:36AM -0700, George Anzinger wrote:
> >that patch sets DEBUG_INFO to y by default, even if whether DEBUG_KERNEL
> >nor KGDB is enabled. The attached patch changes this to enable DEBUG_INFO
> >by default only if KGDB is enabled.
>
> Looks good to me, but.... just what does this turn on? Its been a
> long time and me thinks a wee comment here would help me remember next
> time.
DEBUG_INFO add "-g" to CFLAGS.
Main reason to introduce this was that many architectures always use
"-g", so a config option seemed more appropriate.
I do not agree that this should be dependent on KGDB.
To my knowledge -g is useful also without using kgdb.
Sam
--On Wednesday, August 13, 2003 22:18:29 +0200 Sam Ravnborg <[email protected]> wrote:
> On Mon, Aug 11, 2003 at 11:26:36AM -0700, George Anzinger wrote:
>> > that patch sets DEBUG_INFO to y by default, even if whether DEBUG_KERNEL
>> > nor KGDB is enabled. The attached patch changes this to enable DEBUG_INFO
>> > by default only if KGDB is enabled.
>>
>> Looks good to me, but.... just what does this turn on? Its been a
>> long time and me thinks a wee comment here would help me remember next
>> time.
>
> DEBUG_INFO add "-g" to CFLAGS.
> Main reason to introduce this was that many architectures always use
> "-g", so a config option seemed more appropriate.
> I do not agree that this should be dependent on KGDB.
> To my knowledge -g is useful also without using kgdb.
I have this in my tree (from Dave Hansen). Slightly twisted, but there's
no better way I can see. Goes on top of the kgdb patch.
M.
diff -purN -X /home/mbligh/.diff.exclude 520-queuestat/Makefile 550-config_debug/Makefile
--- 520-queuestat/Makefile 2003-07-28 18:30:57.000000000 -0700
+++ 550-config_debug/Makefile 2003-07-28 19:02:06.000000000 -0700
@@ -308,7 +308,7 @@ ifndef CONFIG_FRAME_POINTER
CFLAGS += -fomit-frame-pointer
endif
-ifdef CONFIG_X86_REMOTE_DEBUG
+ifdef CONFIG_DEBUG_SYMBOLS
CFLAGS += -g
endif
diff -purN -X /home/mbligh/.diff.exclude 520-queuestat/arch/i386/Kconfig 550-config_debug/arch/i386/Kconfig
--- 520-queuestat/arch/i386/Kconfig 2003-07-28 18:59:00.000000000 -0700
+++ 550-config_debug/arch/i386/Kconfig 2003-07-28 19:02:06.000000000 -0700
@@ -1350,6 +1350,14 @@ config DEBUG_KERNEL
Say Y here if you are developing drivers or trying to debug and
identify kernel problems.
+config DEBUG_SYMBOLS_PROMPT
+ bool "Get debug symbols (turns on -g)"
+ depends on DEBUG_KERNEL
+
+config DEBUG_SYMBOLS
+ bool
+ depends on DEBUG_SYMBOLS_PROMPT || X86_REMOTE_DEBUG
+
config DEBUG_STACKOVERFLOW
bool "Check for stack overflows"
depends on DEBUG_KERNEL
On Wednesday 13 August 2003 22:18, Sam Ravnborg wrote:
> On Mon, Aug 11, 2003 at 11:26:36AM -0700, George Anzinger wrote:
> > >that patch sets DEBUG_INFO to y by default, even if whether DEBUG_KERNEL
> > >nor KGDB is enabled. The attached patch changes this to enable
> > > DEBUG_INFO by default only if KGDB is enabled.
> >
> > Looks good to me, but.... just what does this turn on? Its been a
> > long time and me thinks a wee comment here would help me remember next
> > time.
>
> DEBUG_INFO add "-g" to CFLAGS.
> Main reason to introduce this was that many architectures always use
> "-g", so a config option seemed more appropriate.
> I do not agree that this should be dependent on KGDB.
> To my knowledge -g is useful also without using kgdb.
Yes, one can enable or disable DEBUG_INFO as soon as DEBUG_KERNEL is selected,
this does not depend on KGDB.
With the patch DEBUG_INFO is enabled by default only if KGDB is selected, but
even if KGDB is not selected you still may enable it by hand.
The problem was that DEBUG_INFO was enabled even if it was not reachable
because DEBUG_KERNEL was not selected....
Thomas
Sam Ravnborg wrote:
> On Mon, Aug 11, 2003 at 11:26:36AM -0700, George Anzinger wrote:
>
>>>that patch sets DEBUG_INFO to y by default, even if whether DEBUG_KERNEL
>>>nor KGDB is enabled. The attached patch changes this to enable DEBUG_INFO
>>>by default only if KGDB is enabled.
>>
>>Looks good to me, but.... just what does this turn on? Its been a
>>long time and me thinks a wee comment here would help me remember next
>>time.
>
>
> DEBUG_INFO add "-g" to CFLAGS.
> Main reason to introduce this was that many architectures always use
> "-g", so a config option seemed more appropriate.
> I do not agree that this should be dependent on KGDB.
> To my knowledge -g is useful also without using kgdb.
Yes, I see.
But we have this problem you see:
--- linux-2.6.0-test2-org/arch/i386/Makefile 2003-07-31
13:06:52.000000000 -0700
+++ linux/arch/i386/Makefile 2003-08-06 13:09:39.000000000 -0700
@@ -84,6 +84,9 @@
# default subarch .h files
mflags-y += -Iinclude/asm-i386/mach-default
+mflags-$(CONFIG_KGDB) += -gdwarf-2
+mflags-$(CONFIG_KGDB_MORE) += $(shell echo $(CONFIG_KGDB_OPTIONS) |
sed -e 's/"//g')
+
So the -g gets set as well as -gdwarf-2. And note that the -gdwarf-2
gets set for asm code also (interesting problem there in that the line
number info is for the .s file and not the .S and the .s is a tmp file
to boot). But back to the -g and kgdb. I am thinking the thing to do
is to force DEBUG_INFO off if KGDB is on, thus using what ever we
finally decide should be after the -g.
Andrew started with -gstabs then -g, then -ggdb which I am sure is the
same as -gdwarf-2 (the kernel files are exactly the same size with
either -ggdb or -gdwarf-2) and now, I think, he is back to -g.
I want to use -gdwarf-2 since it a) clearly states what we want, and
b) the new gdb uses the dwarf2 call frames and thus avoids the "bt"
confusion caused by gdb not recognizing the function entry sequence
generated by the newer compilers (I use gcc 3.2.1). I also expect to
have dwarf call frames for the asm code some time soon, which will
allow us to "bt" over interrupt and trap frames.
--
George Anzinger [email protected]
High-res-timers: http://sourceforge.net/projects/high-res-timers/
Preemption patch: http://www.kernel.org/pub/linux/kernel/people/rml