2000-12-10 18:49:58

by Linus Torvalds

[permalink] [raw]
Subject: test12-pre8


The biggest part of the pre8 changes are the USB updates, with support for
a new serial dongle.

The most discussed part of this is the fs/buffer.c handling, and hotplug
changes. Which were fairly small, but interesting (the fs/buffer.c stuff
should fix the double unlock oops, where the new test got added in pre5 as
part of the PageDirty sanity checking).

Can anybody who saw the oops please verify that it is indeed fixed for
them?

Linus

----

- pre8:
- Stephen Rothwell: APM updates
- Johannes Erdfelt: USB updates
- me: call_usermodehelper(/sbin/hotplug) cleanup and deadlock fix
- Leonard Zubkoff: DAC960 Driver Update
- Martin Diehl: fix PCI PM callback ordering
- Andrew Morton: call_usermodehelper() fixes
- Urban Widmark: clean up and enable shared mmap on smbfs.
- Trond Myklebust: fix NFS path revalidation.
- me: proper locking around buffer b_end_io

- pre7:
- Kai Germaschewski: ymfpci cleanups and resource leak fixes
- me: UHCI drivers really need to enable bus mastering.
- Trond Myklebust: fix up nfs_writepage_sync() to not require "filp".
- Andrew Morton: "tq_scheduler" is no more. We have keventd.
- Nils Faerber: cs46xx sounddriver update

- pre6:
- Alan Cox: synch. PA-RISC arch and bitops cleanups
- Maciej Rozycki: even more proper apic setup order.
- Andrew Morton: exec_usermodehelper fixes
- Adam Richter, Kai Germaschewski, me: PCI irq routing.
- revert A20 code changes. We really need to use the keyboard
controller if one exists.
- Johannes Erdfelt: USB updates
- Ralf Baechle: MIPS memmove() fix.

- pre5:
- Jaroslav Kysela: ymfpci driver
- me: get rid of bogus MS_INVALIDATE semantics
- me: final part of the PageDirty() saga
- Rusty Russell: 4-way SMP iptables fix
- Al Viro: oops - bad ext2 inode dirty block bug

- pre4:
- Andries Brouwer: final isofs pieces.
- Kai Germaschewski: ISDN
- play CD audio correctly, don't stop after 12 minutes.
- Anton Altaparmakov: disable NTFS mmap for now, as it doesn't work.
- Stephen Tweedie: fix inode dirty block handling
- Bill Hartner: reschedule_idle - prefer right cpu
- Johannes Erdfelt: USB updates
- Alan Cox: synchronize
- Richard Henderson: alpha updates and optimizations
- Geert Uytterhoeven: fbdev could be fooled into crashing fix
- Trond Myklebust: NFS filehandles in inode rather than dentry

- pre3:
- me: more PageDirty / swapcache handling
- Neil Brown: raid and md init fixes
- David Brownell: pci hotplug sanitization.
- Kanoj Sarcar: mips64 update
- Kai Germaschewski: ISDN sync
- Andreas Bombe: ieee1394 cleanups and fixes
- Johannes Erdfelt: USB update
- David Miller: Sparc and net update
- Trond Myklebust: RPC layer SMP fixes
- Thomas Sailer: mixed sound driver fixes
- Tigran Aivazian: use atomic_dec_and_lock() for free_uid()

- pre2:
- Peter Anvin: more P4 configuration parsing
- Stephen Tweedie: O_SYNC patches. Make O_SYNC/fsync/fdatasync
do the right thing.
- Keith Owens: make mdule loading use the right struct module size
- Boszormenyi Zoltan: get MTRR's right for the >32-bit case
- Alan Cox: various random documentation etc
- Dario Ballabio: EATA and u14-34f update
- Ivan Kokshaysky: unbreak alpha ruffian
- Richard Henderson: PCI bridge initialization on alpha
- Zach Brown: correct locking in Maestro driver
- Geert Uytterhoeven: more m68k updates
- Andrey Savochkin: eepro100 update
- Dag Brattli: irda update
- Johannes Erdfelt: USB update

- pre1: (for ISDN synchronization _ONLY_! Not complete!)
- Byron Stanoszek: correct decimal precision for CPU MHz in
/proc/cpuinfo
- Ollie Lho: SiS pirq routing.
- Andries Brouwer: isofs cleanups
- Matt Kraai: /proc read() on directories should return EISDIR, not EINVAL
- me: be stricter about what we accept as a PCI bridge setup.
- me: always set PCI interrupts to be level-triggered when we enable them.
- me: updated PageDirty and swap cache handling
- Peter Anvin: update A20 code to work without keyboard controller
- Kai Germaschewski: ISDN updates
- Russell King: ARM updates
- Geert Uytterhoeven: m68k updates


2000-12-10 19:02:49

by Linus Torvalds

[permalink] [raw]
Subject: Re: test12-pre8


Follow-up: I uploaded the wrong patch by mistake, so if anybody got
test12-pre8 within the first five minutes, you'll get a kernel that has
some trouble compiling. Oops. Fixed.

Linus

2000-12-10 20:31:34

by Mohammad A. Haque

[permalink] [raw]
Subject: Re: test12-pre8

--- linux/drivers/i2o/i2o_lan.c Sun Dec 10 14:17:22 2000
+++ linux-2.4.0-test12.mhaque/drivers/i2o/i2o_lan.c Sun Dec 10 14:28:27 2000
@@ -112,8 +112,10 @@
};
static int lan_context;

-static struct tq_struct i2o_post_buckets_task = {
- 0, 0, (void (*)(void *))i2o_lan_receive_post, (void *) 0
+DECLARE_TASK_QUEUE(i2o_post_buckets_task);
+struct tq_struct run_i2o_post_buckets_task = {
+ routine: (void (*)(void *)) run_task_queue,
+ data: (void *) 0
};

/* Functions to handle message failures and transaction errors:
@@ -379,8 +381,8 @@
/* If DDM has already consumed bucket_thresh buckets, post new ones */

if (atomic_read(&priv->buckets_out) <= priv->max_buckets_out - priv->bucket_thresh) {
- i2o_post_buckets_task.data = (void *)dev;
- queue_task(&i2o_post_buckets_task, &tq_immediate);
+ run_i2o_post_buckets_task.data = (void *)dev;
+ queue_task(&run_i2o_post_buckets_task, &tq_immediate);
mark_bh(IMMEDIATE_BH);
}

@@ -1401,7 +1403,7 @@
atomic_set(&priv->tx_out, 0);
priv->tx_count = 0;

- priv->i2o_batch_send_task.next = NULL;
+ list_add_tail(&priv->i2o_batch_send_task.list, NULL);
priv->i2o_batch_send_task.sync = 0;
priv->i2o_batch_send_task.routine = (void *)i2o_lan_batch_send;
priv->i2o_batch_send_task.data = (void *)dev;
--- linux/drivers/net/aironet4500_core.c Sun Dec 10 14:30:20 2000
+++ linux-2.4.0-test12.mhaque/drivers/net/aironet4500_core.c Sun Dec 10 14:31:04 2000
@@ -2868,7 +2868,7 @@

priv->command_semaphore_on = 0;
priv->unlock_command_postponed = 0;
- priv->immediate_bh.next = NULL;
+ list_add_tail(&priv->immediate_bh.list, NULL);
priv->immediate_bh.sync = 0;
priv->immediate_bh.routine = (void *)(void *)awc_bh;
priv->immediate_bh.data = dev;
--- linux/drivers/usb/serial/keyspan_pda.c Sun Dec 10 13:55:25 2000
+++ linux-2.4.0-test12.mhaque/drivers/usb/serial/keyspan_pda.c Sun Dec 10 14:11:18 2000
@@ -742,11 +742,11 @@
if (!priv)
return (1); /* error */
init_waitqueue_head(&serial->port[0].write_wait);
- priv->wakeup_task.next = NULL;
+ list_add_tail(&priv->wakeup_task.list, NULL);
priv->wakeup_task.sync = 0;
priv->wakeup_task.routine = (void *)keyspan_pda_wakeup_write;
priv->wakeup_task.data = (void *)(&serial->port[0]);
- priv->unthrottle_task.next = NULL;
+ list_add_tail(&priv->unthrottle_task.list, NULL);
priv->unthrottle_task.sync = 0;
priv->unthrottle_task.routine = (void *)keyspan_pda_request_unthrottle;
priv->unthrottle_task.data = (void *)(serial);
--- linux/fs/smbfs/sock.c Sun Dec 10 14:33:49 2000
+++ linux-2.4.0-test12.mhaque/fs/smbfs/sock.c Sun Dec 10 14:34:28 2000
@@ -163,7 +163,7 @@
found_data(sk);
return;
}
- job->cb.next = NULL;
+ list_add_tail(&job->cb.list, NULL);
job->cb.sync = 0;
job->cb.routine = smb_data_callback;
job->cb.data = job;


Attachments:
tq_struct-t12p8-fix.diff (2.73 kB)

2000-12-10 22:54:07

by Urban Widmark

[permalink] [raw]
Subject: Re: test12-pre8

On Sun, 10 Dec 2000, Mohammad A. Haque wrote:

> Could someome who knows what they are doing check over the following
> patch please?

I wouldn't say that I do, but no one else seems to be answering this.
list_add_tail does head->prev and making the call with a NULL 'head' looks
bad to me. I would prefer:

diff -ur -X exclude linux-2.4.0-test12-pre8-orig/fs/smbfs/sock.c linux-2.4.0-test12-pre8-smbfs/fs/smbfs/sock.c
--- linux-2.4.0-test12-pre8-orig/fs/smbfs/sock.c Sun Dec 10 21:01:16 2000
+++ linux-2.4.0-test12-pre8-smbfs/fs/smbfs/sock.c Sun Dec 10 23:07:15 2000
@@ -163,7 +163,7 @@
found_data(sk);
return;
}
- job->cb.next = NULL;
+ INIT_LIST_HEAD(&job->cb.list);
job->cb.sync = 0;
job->cb.routine = smb_data_callback;
job->cb.data = job;

or just leaving the list as it is. It will be initialized anyway by
schedule_task (queue_task), but using the init macro seems like a nice
thing to do.

/Urban

2000-12-10 23:20:10

by Mohammad A. Haque

[permalink] [raw]
Subject: Re: test12-pre8

I think you're right. Here's an update to what I submitted before. I'll
be submitting more patches as I encounter more.

On Sun, 10 Dec 2000, Urban Widmark wrote:
> or just leaving the list as it is. It will be initialized anyway by
> schedule_task (queue_task), but using the init macro seems like a nice
> thing to do.
>

--

=====================================================================
Mohammad A. Haque http://www.haque.net/
[email protected]

"Alcohol and calculus don't mix. Project Lead
Don't drink and derive." --Unknown http://wm.themes.org/
[email protected]
=====================================================================


Attachments:
tq_struct-t12p8-fix-2.diff (2.78 kB)

2000-12-11 03:00:47

by Peter Samuelson

[permalink] [raw]
Subject: Re: test12-pre8


[Linus]
> - pre8:

Small thinko in arch/mips64/Makefile, looks like.

--- 2.4.0test12pre8/arch/mips64/Makefile~ Sun Dec 10 20:07:02 2000
+++ 2.4.0test12pre8/arch/mips64/Makefile Sun Dec 10 20:13:07 2000
@@ -33,7 +33,7 @@
# machines may also. Since BFD is incredibly buggy with respect to
# crossformat linking we rely on the elf2ecoff tool for format conversion.
#
-CFLAGS += -I $(TOPDIR)/include/asm $(CFLAGS)
+CFLAGS := -I $(TOPDIR)/include/asm $(CFLAGS)
CFLAGS += -mabi=64 -G 0 -mno-abicalls -fno-pic -Wa,--trap -pipe
LINKFLAGS += -G 0 -static # -N
MODFLAGS += -mlong-calls


But that brings up the question: why does mips64 need to specify the
'-I $(TOPDIR)/include/asm-mips64' at all? A quick grep through
arch/mips64 and include/asm-mips64 does not reveal any reason.

So AFAICS it should actually be

--- 2.4.0test12pre8/arch/mips64/Makefile~ Sun Dec 10 20:07:02 2000
+++ 2.4.0test12pre8/arch/mips64/Makefile Sun Dec 10 20:13:07 2000
@@ -33,7 +33,6 @@
# machines may also. Since BFD is incredibly buggy with respect to
# crossformat linking we rely on the elf2ecoff tool for format conversion.
#
-CFLAGS += -I $(TOPDIR)/include/asm $(CFLAGS)
CFLAGS += -mabi=64 -G 0 -mno-abicalls -fno-pic -Wa,--trap -pipe
LINKFLAGS += -G 0 -static # -N
MODFLAGS += -mlong-calls


Peter