2003-08-07 05:35:46

by Andrew Morton

[permalink] [raw]
Subject: 2.6.0-test2-mm5


ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.0-test2/2.6.0-test2-mm5/


Lots of different things. Mainly trying to get this tree stabilised again;
there has been some breakage lately.




Changes since 2.6.0-test2-mm4:


-execve-fixes.patch
-ppc64-sections.patch
-ppc64-prom-compile-fix.patch
-spurious-SIGCHLD-fix.patch

Merged

+vmlinux-generation-fix.patch

Shuffle vmlinux.lds.S around to get dependencies right.

+remove-PF_READAHEAD.patch

Remove PF_READAHEAD: it's not doing anything now, and it leads to bogus IO
errors when we reenter the page allocator with it set.


+cpumask_t-random-fixes.patch
+next_cpu-fix.patch
+cpumask-ppc-fixes.patch
+flush_cpumask-atomicity-fix.patch

NR_CPUS > BITS_PER_LONG fixes

-ppc64-64-bit-mknod-fix.patch
-ppc64-64-bit-ustat-fix.patch

Dropped - fixed differently.

+mknod64-64-bit-fix.patch

Fix mknod for some 64-bit architectures

+ppc-sched_clock.patch

Implement sched_clock() for ppc: needed for the CPU scheduler updates

+o12.3.patch
+o13int.patch
+o13.1int.patch

Interactivity patches

-remove-const-initdata.patch

No longer needed. Fixes are in -linus

+4g4g-wli-fixes.patch

Various fixes for the 4G/4G patch

+4g4g-remove-touch_all_pages.patch

Remove (buggy on discontigmem) debug stuff

+ppc-fixes.patch

Small ppc fix

+reiserfs-remount-locking-fix.patch

Put the bkl back in remount code

+as-no-trinary-states.patch

Anticipatory scheduler tidyup.

+export-lookup_create.patch

hwgfs and intermezzo need it

+free_all_bootmem_core-fix.patch

bootmem fix for ia64

+x86_64-nmi-watchog-doc-update.patch

documentation update

+do_setitimer-cleanup.patch

Move the declaration(s) from .c into a shared header

+devfs-pty-slave-fix.patch

devfs fix

+nbd-race-fix.patch

NBD race fix

+itimer-rounding-and-resolution-fix.patch

interval timer fixes

+ext3-aborted-journal-fix.patch

ext3 oops fix.

+create-struct-irq_desc.patch

typedef pain relief

+rt-tasks-special-vm-treatment.patch
+rt-tasks-special-vm-treatment-2.patch

Give RT tasks special treatment in the VFS and VM

+slab-debug-updates.patch

Slab debugging improvements

+matroxfb-updates.patch

fb driver update

+k7-mce-fix.patch

Should fix the MCE exceptions on Athlons

+xfs-uptodate-page-fix.patch

XFS fix

+standalone-elevator-noop.patch

rationalise elevator_noop

+large-TCQ-fix.patch

Scale the rquest queues appropriately for TCQ

+init_page_private.patch

Initialise page->private to zero.






All 172 patches:


linus.patch

mm.patch
add -mmN to EXTRAVERSION

kgdb-ga.patch
kgdb stub for ia32 (George Anzinger's one)

kgdb-remove-cpu_callout_map.patch
kgdb: remove cpu_callout_map decls

kgdb-use-ggdb.patch

kgdb-ga-docco-fixes.patch
kgdb doc. edits/corrections

kgdb-sysrq-g-fix.patch
kgdb sysrq-g fix

kgdb-serial-fix.patch
kgdb serial port fix

kgdb-warning-fix.patch
kgdbL warning fix

vmlinux-generation-fix.patch
Fix vmlinux.lds.s generation

ax8817x-build-fix.patch
ax8817x.c build fix for older gcc's

remove-PF_READAHEAD.patch
remove PF_READAHEAD

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-mips-fix.patch
cpumask: IPS fixups

cpumask-arith-fix.patch
cpumask: avoid using structs for NR_CPUS<BITS_PER_LONG

cpumask-physid-fix.patch
cpumask: physid fixes

cpumask_t-up-build-fix.patch
cpumask_t uniproc build fix

cpumask_t-random-fixes.patch
cpumask_t fixes

next_cpu-fix.patch
cpumask: next_cpu fix

cpumask-ppc-fixes.patch

flush_cpumask-atomicity-fix.patch
flush_cpumask atomicity fix

kgdb-cpumask_t.patch

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

ia64-percpu-revert.patch
revert percpu changes

x86_64-fixes.patch
x86_64 fixes

delay-ksoftirqd-fallback.patch
Try harded in IRQ context before falling back to ksoftirqd

ds-09-vicam-usercopy-fix.patch
vicam usercopy fix

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

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

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

ext3-block-allocation-cleanup.patch

nfs-revert-backoff.patch
nfs: revert backoff changes

floppy-smp-fixes.patch
floppy smp fixes

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

nforce2-acpi-fixes-fix.patch

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

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

dm-1-module-param.patch
dm: don't use MODULE_PARM

dm-2-blk.patch
dm: remove blk.h include

dm-3-use-hex.patch
dm: decimal device num sscanf

dm-4-64-bit-ioctls.patch
dm: 64 bit ioctl fixes

dm-5-missing-include.patch
dm: missing #include

dm-6-sector_div.patch
dm: use sector_div()

dm-7-rename-resume.patch
dm: resume() name clash

reiserfs-savelinks-endianness-fix.patch
reiserfs: fix savelinks on bigendian arches

reiserfs-enospc-fix.patch
reiserfs: fix problem when fs is out of space

reiserfs-link-unlink-race-fix.patch
reiserfs: fix races between link and unlink on same file

reiserfs-remount-locking-fix.patch
reiserfs: fix locking in reiserfs_remount

mremap-atomicity-fix.patch
move_one_page() atomicity fix

aic7xxx_old-oops-fix.patch

ide-cd-oops-fix.patch
ide-cd error handling oops fix

xfs-use-after-free-fix.patch
XFS use-after-free fix

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

as-no-trinary-states.patch
AS: no trinary states

usercopy-might_sleep-checks.patch
might_sleep() checks for usercopy functions

random-locking-fixes.patch
random: SMP locking

random-accounting-and-sleeping-fixes.patch
random: accounting and sleeping fixes

panic-nmi-watchdog-fix.patch
Don't trigger NMI watchdog for panic delay

ide-capacity-fixes.patch
ide capacity accounting and reporting fixes

export-lookup_create.patch
export lookup_create()

free_all_bootmem_core-fix.patch
fix free_all_bootmem_core for virtual memmap

x86_64-nmi-watchog-doc-update.patch
NMI watchdog documentation for x86-64

do_setitimer-cleanup.patch
Add do_setitimer prototype to linux/time.h

devfs-pty-slave-fix.patch
create pty slaves in devfs

nbd-race-fix.patch
NBD driver: remove send/receive race for request

itimer-rounding-and-resolution-fix.patch
itimer resolution and rounding fixes

ext3-aborted-journal-fix.patch
ext3: handle aborted journals in do_get_write_access()

create-struct-irq_desc.patch
declare struct irq_desc

rt-tasks-special-vm-treatment.patch
real-time enhanced page allocator and throttling

rt-tasks-special-vm-treatment-2.patch

slab-debug-updates.patch
slab debugging updates

mtrr-hang-fix.patch
Fix mtrr-related hang

matroxfb-updates.patch
matroxfb updates

k7-mce-fix.patch
athlon MCE fix

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

large-TCQ-fix.patch
large TCQ fix

init_page_private.patch
initialise page->private

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




2003-08-07 06:31:59

by William Lee Irwin III

[permalink] [raw]
Subject: Re: 2.6.0-test2-mm5

On Wed, Aug 06, 2003 at 10:37:16PM -0700, Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.0-test2/2.6.0-test2-mm5/
> Lots of different things. Mainly trying to get this tree stabilised again;
> there has been some breakage lately.

Looks like this got backed out when vmlinux.lds.S moved:


--- linux-old/arch/i386/kernel/vmlinux.lds.S 2003-08-06 23:23:53.000000000 -0700
+++ linux-new/arch/i386/kernel/vmlinux.lds.S 2003-08-04 15:02:26.000000000 -0700
@@ -3,6 +3,9 @@
*/

#include <asm-generic/vmlinux.lds.h>
+#include <linux/config.h>
+#include <asm/page.h>
+#include <asm/asm_offsets.h>

OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
OUTPUT_ARCH(i386)
@@ -10,7 +13,7 @@
jiffies = jiffies_64;
SECTIONS
{
- . = 0xC0000000 + 0x100000;
+ . = __PAGE_OFFSET + 0x100000;
/* read-only */
_text = .; /* Text and read-only data */
.text : {
@@ -19,6 +22,18 @@
*(.gnu.warning)
} = 0x9090

+#ifdef CONFIG_X86_4G
+ . = ALIGN(PAGE_SIZE_asm);
+ __entry_tramp_start = .;
+ . = FIX_ENTRY_TRAMPOLINE_0_addr;
+ __start___entry_text = .;
+ .entry.text : AT (__entry_tramp_start) { *(.entry.text) }
+ __entry_tramp_end = __entry_tramp_start + SIZEOF(.entry.text);
+ . = __entry_tramp_start + 2*PAGE_SIZE_asm;
+#else
+ .entry.text : { *(.entry.text) }
+#endif
+
_etext = .; /* End of text section */

. = ALIGN(16); /* Exception table */
@@ -34,13 +49,13 @@
CONSTRUCTORS
}

- . = ALIGN(4096);
+ . = ALIGN(PAGE_SIZE_asm);
__nosave_begin = .;
.data_nosave : { *(.data.nosave) }
- . = ALIGN(4096);
+ . = ALIGN(PAGE_SIZE_asm);
__nosave_end = .;

- . = ALIGN(4096);
+ . = ALIGN(PAGE_SIZE_asm);
.data.page_aligned : { *(.data.idt) }

. = ALIGN(32);
@@ -52,7 +67,7 @@
.data.init_task : { *(.data.init_task) }

/* will be freed after init */
- . = ALIGN(4096); /* Init code and data */
+ . = ALIGN(PAGE_SIZE_asm); /* Init code and data */
__init_begin = .;
.init.text : {
_sinittext = .;
@@ -91,7 +106,7 @@
from .altinstructions and .eh_frame */
.exit.text : { *(.exit.text) }
.exit.data : { *(.exit.data) }
- . = ALIGN(4096);
+ . = ALIGN(PAGE_SIZE_asm);
__initramfs_start = .;
.init.ramfs : { *(.init.ramfs) }
__initramfs_end = .;
@@ -99,10 +114,22 @@
__per_cpu_start = .;
.data.percpu : { *(.data.percpu) }
__per_cpu_end = .;
- . = ALIGN(4096);
+ . = ALIGN(PAGE_SIZE_asm);
__init_end = .;
/* freed after init ends here */
-
+
+ . = ALIGN(PAGE_SIZE_asm);
+ .data.page_aligned_tss : { *(.data.tss) }
+
+ . = ALIGN(PAGE_SIZE_asm);
+ .data.page_aligned_default_ldt : { *(.data.default_ldt) }
+
+ . = ALIGN(PAGE_SIZE_asm);
+ .data.page_aligned_idt : { *(.data.idt) }
+
+ . = ALIGN(PAGE_SIZE_asm);
+ .data.page_aligned_gdt : { *(.data.gdt) }
+
__bss_start = .; /* BSS */
.bss : { *(.bss) }
__bss_stop = .;
@@ -122,4 +149,6 @@
.stab.index 0 : { *(.stab.index) }
.stab.indexstr 0 : { *(.stab.indexstr) }
.comment 0 : { *(.comment) }
+
+
}

2003-08-07 06:32:19

by Martin J. Bligh

[permalink] [raw]
Subject: Re: 2.6.0-test2-mm5



--Andrew Morton <[email protected]> wrote (on Wednesday, August 06, 2003 22:37:16 -0700):

> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.0-test2/2.6.0-test2-mm5/
>
>
> Lots of different things. Mainly trying to get this tree stabilised again;
> there has been some breakage lately.

I get lots of these .... (without 4/4 turned on)

Badness in as_dispatch_request at drivers/block/as-iosched.c:1241
Call Trace:
[<c01ca8d2>] as_dispatch_request+0x216/0x264
[<c01ca938>] as_next_request+0x18/0x2c
[<c01c343b>] elv_next_request+0x9f/0xd4
[<c01d4cd6>] scsi_request_fn+0x2e/0x280
[<c01c4e2f>] blk_run_queue+0x27/0x38
[<c01d43af>] scsi_run_queue+0xb3/0xbc
[<c01d43ff>] scsi_next_command+0x17/0x1c
[<c01d44bc>] scsi_end_request+0x88/0x94
[<c01d483b>] scsi_io_completion+0x1ef/0x408
[<c01dfa4e>] sd_rw_intr+0x1ce/0x1d8
[<c01d120d>] scsi_finish_command+0x89/0x90
[<c01d113d>] scsi_softirq+0xc5/0xe0
[<c012236c>] do_softirq+0x6c/0xcc
[<c010c1d3>] do_IRQ+0x113/0x124
[<c023c0d8>] common_interrupt+0x18/0x20

Badness in as_completed_request at drivers/block/as-iosched.c:930
Call Trace:
[<c01ca29c>] as_completed_request+0xe4/0x170
[<c01c357b>] elv_completed_request+0x13/0x18
[<c01c575e>] __blk_put_request+0x2a/0x84
[<c01c661d>] end_that_request_last+0xc5/0xd8
[<c01d44a8>] scsi_end_request+0x74/0x94
[<c01d483b>] scsi_io_completion+0x1ef/0x408
[<c01dfa4e>] sd_rw_intr+0x1ce/0x1d8
[<c01d120d>] scsi_finish_command+0x89/0x90
[<c01d113d>] scsi_softirq+0xc5/0xe0
[<c012236c>] do_softirq+0x6c/0xcc
[<c010c1d3>] do_IRQ+0x113/0x124
[<c023c0d8>] common_interrupt+0x18/0x20

seems to work, but whines a lot ;-)

M.

2003-08-07 06:43:12

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.0-test2-mm5

William Lee Irwin III <[email protected]> wrote:
>
> Looks like this got backed out when vmlinux.lds.S moved:
>

yes it did, thanks.

> --- linux-old/arch/i386/kernel/vmlinux.lds.S 2003-08-06 23:23:53.000000000 -0700
> +++ linux-new/arch/i386/kernel/vmlinux.lds.S 2003-08-04 15:02:26.000000000 -0700

Yes, that change is needed for building with the 4g/4g split.

2003-08-07 07:04:00

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.0-test2-mm5

"Martin J. Bligh" <[email protected]> wrote:
>
> I get lots of these .... (without 4/4 turned on)
>
> Badness in as_dispatch_request at drivers/block/as-iosched.c:1241

yes, it happens with aic7xxx as well. Sorry about that.

You'll need to revert

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.0-test2/2.6.0-test2-mm5/broken-out/as-no-trinary-states.patch

2003-08-07 08:00:33

by Christoph Hellwig

[permalink] [raw]
Subject: Re: 2.6.0-test2-mm5

On Wed, Aug 06, 2003 at 10:37:16PM -0700, Andrew Morton wrote:
> +devfs-pty-slave-fix.patch
>
> devfs fix

This patch is wrong. Those nodes are managed by devpts.

2003-08-07 08:30:10

by Nick Piggin

[permalink] [raw]
Subject: Re: 2.6.0-test2-mm5



Andrew Morton wrote:

>"Martin J. Bligh" <[email protected]> wrote:
>
>>I get lots of these .... (without 4/4 turned on)
>>
>> Badness in as_dispatch_request at drivers/block/as-iosched.c:1241
>>
>
>yes, it happens with aic7xxx as well. Sorry about that.
>
>You'll need to revert
>
>

Sorry. Worked with the sym53c8xx for me. I'll fix.


2003-08-07 08:43:21

by Nick Piggin

[permalink] [raw]
Subject: Re: 2.6.0-test2-mm5

--- linux-2.6/drivers/block/as-iosched.c.orig 2003-08-07 18:33:06.000000000 +1000
+++ linux-2.6/drivers/block/as-iosched.c 2003-08-07 18:41:50.000000000 +1000
@@ -1198,8 +1198,10 @@ static int as_dispatch_request(struct as
*/
goto dispatch_writes;

- if (ad->batch_data_dir == REQ_ASYNC)
+ if (ad->batch_data_dir == REQ_ASYNC) {
+ WARN_ON(ad->new_batch);
ad->changed_batch = 1;
+ }
ad->batch_data_dir = REQ_SYNC;
arq = list_entry_fifo(ad->fifo_list[ad->batch_data_dir].next);
ad->last_check_fifo[ad->batch_data_dir] = jiffies;
@@ -1214,8 +1216,16 @@ static int as_dispatch_request(struct as
dispatch_writes:
BUG_ON(RB_EMPTY(&ad->sort_list[REQ_ASYNC]));

- if (ad->batch_data_dir == REQ_SYNC)
+ if (ad->batch_data_dir == REQ_SYNC) {
ad->changed_batch = 1;
+
+ /*
+ * new_batch might be 1 when the queue runs out of
+ * reads. A subsequent submission of a write might
+ * cause a change of batch before the read is finished.
+ */
+ ad->new_batch = 0;
+ }
ad->batch_data_dir = REQ_ASYNC;
ad->current_write_count = ad->write_batch_count;
ad->write_batch_idled = 0;


Attachments:
as-mm5-fix-2 (1.11 kB)

2003-08-07 08:41:11

by Nick Piggin

[permalink] [raw]
Subject: Re: 2.6.0-test2-mm5

--- linux-2.6/drivers/block/as-iosched.c.orig 2003-08-07 18:33:06.000000000 +1000
+++ linux-2.6/drivers/block/as-iosched.c 2003-08-07 18:36:03.000000000 +1000
@@ -1198,8 +1198,10 @@ static int as_dispatch_request(struct as
*/
goto dispatch_writes;

- if (ad->batch_data_dir == REQ_ASYNC)
+ if (ad->batch_data_dir == REQ_ASYNC) {
+ WARN_ON(ad->new_batch || ad->changed_batch);
ad->changed_batch = 1;
+ }
ad->batch_data_dir = REQ_SYNC;
arq = list_entry_fifo(ad->fifo_list[ad->batch_data_dir].next);
ad->last_check_fifo[ad->batch_data_dir] = jiffies;
@@ -1214,8 +1216,17 @@ static int as_dispatch_request(struct as
dispatch_writes:
BUG_ON(RB_EMPTY(&ad->sort_list[REQ_ASYNC]));

- if (ad->batch_data_dir == REQ_SYNC)
+ if (ad->batch_data_dir == REQ_SYNC) {
+ WARN_ON(ad->changed_batch);
ad->changed_batch = 1;
+
+ /*
+ * new_batch might be 1 when the queue runs out of
+ * reads. A subsequent submission of a write might
+ * cause a change of batch before the read is finished.
+ */
+ ad->new_batch = 0;
+ }
ad->batch_data_dir = REQ_ASYNC;
ad->current_write_count = ad->write_batch_count;
ad->write_batch_idled = 0;


Attachments:
as-mm5-fix (1.16 kB)

2003-08-07 08:45:04

by Jens Axboe

[permalink] [raw]
Subject: Re: 2.6.0-test2-mm5

On Thu, Aug 07 2003, Nick Piggin wrote:
> --- linux-2.6/drivers/block/as-iosched.c.orig 2003-08-07 18:33:06.000000000 +1000
> +++ linux-2.6/drivers/block/as-iosched.c 2003-08-07 18:36:03.000000000 +1000
> @@ -1198,8 +1198,10 @@ static int as_dispatch_request(struct as
> */
> goto dispatch_writes;
>
> - if (ad->batch_data_dir == REQ_ASYNC)
> + if (ad->batch_data_dir == REQ_ASYNC) {
> + WARN_ON(ad->new_batch || ad->changed_batch);

combining debug checks like this is generally a bad idea imho, since you
don't know which of them triggered...

--
Jens Axboe

2003-08-07 18:31:29

by Martin J. Bligh

[permalink] [raw]
Subject: Re: 2.6.0-test2-mm5

>> Andrew and or Martin, please test attached patch.
>> Thanks.
>>
>
> Well, one of the WARN conditions I put in there is clearly
> redundant...

Yeah, that patch fixes it.

Thanks,

M.

2003-08-07 21:19:00

by Marcelo Tosatti

[permalink] [raw]
Subject: Re: 2.6.0-test2-mm5



On Wed, 6 Aug 2003, Andrew Morton wrote:

>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.0-test2/2.6.0-test2-mm5/
>
>
> Lots of different things. Mainly trying to get this tree stabilised again;
> there has been some breakage lately.

Tried to boot it on OSDL's 8way:

checking TSC synchronization across 8 CPUs: passed.
Starting migration thread for cpu 0
Bringing up 1
CPU 1 IS NOW UP!
Starting migration thread for cpu 1
Bringing up 2
CPU 2 IS NOW UP!
Starting migration thread for cpu 2
Bringing up 3
CPU 3 IS NOW UP!
Starting migration thread for cpu 3
Bringing up 4
CPU 4 IS NOW UP!
Starting migration thread for cpu 4
Bringing up 5
CPU 5 IS NOW UP!
Starting migration thread for cpu 5
Bringing up 6
CPU 6 IS NOW UP!
Starting migration thread for cpu 6
Bringing up 7
CPU 7 IS NOW UP!
Starting migration thread for cpu 7
CPUS done 16
zapping low mappings.
mtrr: v2.0 (20020519)
Initializing RT netlink socket
EISA bus registered
PCI: PCI BIOS revision 2.10 entry at 0xfd26c, last bus=15
PCI: Using configuration type 1


Locked up solid there. Want more info ?

2003-08-07 21:26:17

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.0-test2-mm5

Marcelo Tosatti <[email protected]> wrote:
>
> PCI: Using configuration type 1
>
>
> Locked up solid there. Want more info ?

doh. I don't even know who to lart for that one!

Could you please boot with "initcall_debug" and then resolve the final
couple of addresses in System.map? That'll narrow it down.

2003-08-07 21:23:35

by William Lee Irwin III

[permalink] [raw]
Subject: Re: 2.6.0-test2-mm5

On Thu, Aug 07, 2003 at 06:21:27PM -0300, Marcelo Tosatti wrote:
> EISA bus registered
> PCI: PCI BIOS revision 2.10 entry at 0xfd26c, last bus=15
> PCI: Using configuration type 1
> Locked up solid there. Want more info ?

Absolutely.


-- wli

2003-08-07 22:05:38

by Marcelo Tosatti

[permalink] [raw]
Subject: Re: 2.6.0-test2-mm5



On Thu, 7 Aug 2003, Andrew Morton wrote:

> Marcelo Tosatti <[email protected]> wrote:
> >
> > PCI: Using configuration type 1
> >
> >
> > Locked up solid there. Want more info ?
>
> doh. I don't even know who to lart for that one!
>
> Could you please boot with "initcall_debug" and then resolve the final
> couple of addresses in System.map? That'll narrow it down.

Heck it works with initcall_debug:

Red Hat Linux release 7.3 (Valhalla)
Kernel 2.6.0-test2-mm5 on an i686

I tried again without initcall_debug and it doesnt:

Starting migration thread for cpu 7
CPUS done 16
zapping low mappings.
mtrr: v2.0 (20020519)
Initializing RT netlink socket
EISA bus registered
PCI: PCI BIOS revision 2.10 entry at 0xfd26c, last bus=15
PCI: Using configuration type 1
....

What additional info you guys want?

Full output of both with/without initcall_debug boot messages or?

Odd, odd.

2003-08-07 23:47:55

by Martin J. Bligh

[permalink] [raw]
Subject: Re: 2.6.0-test2-mm5

--Andrew Morton <[email protected]> wrote (on Wednesday, August 06, 2003 22:37:16 -0700):

> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.0-test2/2.6.0-test2-mm5/
>
>
> Lots of different things. Mainly trying to get this tree stabilised again;
> there has been some breakage lately.

Mmmm. 4/4 split now boots again, but behaves rather oddly. This is with
Nick's AS fix, plus the 4/4 fix Andrew sent me last night, which I presume
is the same as what Bill sent out.

Difficult to tell what's going on exactly. For one, the machine has lost
it's hostname, for another, it seems to have mounted the root fs readonly.
End of the bootlog looks like this:

----------------------

EXT2-fs warning (device sda2): ext2_fill_super: mounting ext3 filesystem as ext2

VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 288k freed
INIT: version 2.84 booting
INIT: Entering runlevel: 2
Starting system log daemon: syslogdchmod: changing permissions of `/dev/xconsole': Read-only file system
/etc/init.d/rc: line 101: 118 Trace/breakpoint trap $debug "$@"
Starting kernel log daemon: klogdstart-stop-daemon: nothing in /proc - not mounted?
/etc/init.d/rc: line 101: 120 Trace/breakpoint trap $debug "$@"

Debian GNU/Linux testing/unstable (none) ttyS0

(none) login:

------------------------

Mounting the ext3 root as ext2 is normal (it's hard to un-ext3 it
whilst standing on it). The debug stuff & loss of hostname is not.
Won't accept incoming ssh connections. I can sorta start to log in
on the serial console, but readonly-ness screws it:


(none) login: root
Password:
login(pam_unix)[129]: session opened for user root by (uid=0)
Linux larry 2.6.0-test2-mm5 #1 SMP Thu Aug 7 07:28:59 PDT 2003 i686 unknown unknown GNU/Linux
Unable to change tty /dev/ttyS0: Read-only file system
login[129]: unable to change tty `/dev/ttyS0' for user `root'

login[129]: ROOT LOGIN on `ttyS0'

Debian GNU/Linux testing/unstable (none) ttyS0

(none) login:

----------------------------

If I can grab any more useful info, let me know ...

M.

2003-08-08 00:14:56

by William Lee Irwin III

[permalink] [raw]
Subject: Re: 2.6.0-test2-mm5

Andrew Morton <[email protected]> wrote (on Wednesday, August 06, 2003 22:37:16 -0700):
>> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.0-test2/2.6.0-test2-mm5/
>> Lots of different things. Mainly trying to get this tree stabilised again;
>> there has been some breakage lately.

On Thu, Aug 07, 2003 at 04:47:07PM -0700, Martin J. Bligh wrote:
> Mmmm. 4/4 split now boots again, but behaves rather oddly. This is with
> Nick's AS fix, plus the 4/4 fix Andrew sent me last night, which I presume
> is the same as what Bill sent out.
> Difficult to tell what's going on exactly. For one, the machine has lost
> it's hostname, for another, it seems to have mounted the root fs readonly.
> End of the bootlog looks like this:

It comes up normally here; not sure what's going on.


-- wli

2003-08-08 20:49:30

by Marcelo Tosatti

[permalink] [raw]
Subject: Re: 2.6.0-test2-mm5




On Thu, 7 Aug 2003, Marcelo Tosatti wrote:

>
>
> On Thu, 7 Aug 2003, Andrew Morton wrote:
>
> > Marcelo Tosatti <[email protected]> wrote:
> > >
> > > PCI: Using configuration type 1
> > >
> > >
> > > Locked up solid there. Want more info ?
> >
> > doh. I don't even know who to lart for that one!
> >
> > Could you please boot with "initcall_debug" and then resolve the final
> > couple of addresses in System.map? That'll narrow it down.
>
> Heck it works with initcall_debug:
>
> Red Hat Linux release 7.3 (Valhalla)
> Kernel 2.6.0-test2-mm5 on an i686
>
> I tried again without initcall_debug and it doesnt:
>
> Starting migration thread for cpu 7
> CPUS done 16
> zapping low mappings.
> mtrr: v2.0 (20020519)
> Initializing RT netlink socket
> EISA bus registered
> PCI: PCI BIOS revision 2.10 entry at 0xfd26c, last bus=15
> PCI: Using configuration type 1
> ....
>
> What additional info you guys want?
>
> Full output of both with/without initcall_debug boot messages or?
>
> Odd, odd.

William, Andrew,

Attached are the full boot messages before the crash plus lspci -vvv
output.


Attachments:
8wayboot (8.83 kB)
lspci8way (8.40 kB)
Download all attachments

2003-08-08 21:35:23

by William Lee Irwin III

[permalink] [raw]
Subject: Re: 2.6.0-test2-mm5

On Fri, Aug 08, 2003 at 05:51:07PM -0300, Marcelo Tosatti wrote:
> William, Andrew,
> Attached are the full boot messages before the crash plus lspci -vvv
> output.
> PXELINUX 1.62 2001-04-24 Copyright (C) 1994-2001 H. Peter Anvin
> boot:
> Booting from local disk...

What happens near or around the reported point of failure with
initcall_debug on?


-- wli