2000-11-17 03:03:52

by Linus Torvalds

[permalink] [raw]
Subject: test11-pre6


The log-file says it all..

Linus

-----

- pre6:
- Intel: start to add Pentium IV specific stuff (128-byte cacheline
etc)
- David Miller: search-and-destroy places that forget to mark us
running after removing us from a wait-queue.
- me: NFS client write-back ref-counting SMP instability.
- me: fix up non-exclusive waiters
- Trond Myklebust: Be more careful about SMP in NFS and RPC code
- Trond Myklebust: inode attribute update race fix
- Charles White: don't do unaligned accesses in cpqarray driver.
- Jeff Garzik: continued driver cleanup and fixes
- Peter Anvin: integrate more of the Intel patches.
- Robert Love: add i815 signature to the intel AGP support
- Rik Faith: DRM update to make it easier to sync up 2.2.x
- David Woodhouse: make old 16-bit pcmcia controllers work
again (ie i82365 and TCIC)

- pre5:
- Rasmus Andersen: add proper "<linux/init.h>" for sound drivers
- David Miller: sparc64 and networking updates
- David Trcka: MOXA numbering starts from 0, not 1.
- Jeff Garzik: sysctl.h standalone
- Dag Brattli: IrDA finishing touches
- Randy Dunlap: USB fixes
- Gerd Knorr: big bttv update
- Peter Anvin: x86 capabilities cleanup
- Stephen Rothwell: apm initcall fix - smp poweroff should work
- Andrew Morton: setscheduler() spinlock ordering fix
- Stephen Rothwell: directory notification documentation
- Petr Vandrovec: ncpfs capabilities check cleanup
- David Woodhouse: fix jffs to use generic isxxxx() library
- Chris Swiedler: oom_kill selection fix
- Jens Axboe: re-merge after sleeping in ll_rw_block.
- Randy Dunlap: USB updates (pegasus and ftdi_sio)
- Kai Germaschewski: ISDN ppp header compression fixed

- pre4:
- Andrea Arcangeli: SMP scheduler memory barrier fixup
- Richard Henderson: fix alpha semaphores and spinlock bugs.
- Richard Henderson: clean up the file from hell: "xor.c"

- pre3:
- James Simmons: vgacon "printk()" deadlock with global irq lock.
- don't poke blanked console on console output
- Ching-Ling: get channels right on ALI audio driver
- Dag Brattli and Jean Tourrilhes: big IrDA update
- Paul Mackerras: PPC updates
- Randy Dunlap: USB ID table support, LEDs with usbkbd, belkin
serial converter.
- Jeff Garzik: pcnet32 and lance net driver fix/cleanup
- Mikael Pettersson: clean up x86 ELF_PLATFORM
- Bartlomiej Zolnierkiewicz: sound and drm driver init fixes and
cleanups
- Al Viro: Jeff missed some kmap()'s. sysctl cleanup
- Kai Germaschewski: ISDN updates
- Alan Cox: SCSI driver NULL ptr checks
- David Miller: networking updates, exclusive waitqueues nest properly,
SMP i_shared_lock/page_table_lock lock order fix.

- pre2:
- Stephen Rothwell: directory notify could return with the lock held
- Richard Henderson: CLOCKS_PER_SEC on alpha.
- Jeff Garzik: ramfs and highmem: kmap() the page to clear it
- Asit Mallick: enable the APIC in the official order
- Neil Brown: avoid rd deadlock on io_request_lock by using a
private rd-request function. This also avoids unnecessary
request merging at this level.
- Ben LaHaise: vmalloc threadign and overflow fix
- Randy Dunlap: USB updates (plusb driver). PCI cacheline size.
- Neil Brown: fix a raid1 on top of lvm bug that crept in in pre1
- Alan Cox: various (Athlon mmx copy, NULL ptr checks for
scsi_register etc).
- Al Viro: fix /proc permission check security hole.
- Can-Ru Yeou: SiS301 fbcon driver
- Andrew Morton: NMI oopser and kernel page fault punch through
both console_lock and timerlist_lock to make sure it prints out..
- Jeff Garzik: clean up "kmap()" return type (it returns a kernel
virtual address, ie a "void *").
- Jeff Garzik: network driver docs, various one-liners.
- David Miller: add generic "special" flag to page flags, to be
used by architectures as they see fit. Like keeping track of
cache coherency issues.
- David Miller: sparc64 updates, make sparc32 boot again
- Davdi Millner: spel "synchronous" correctly
- David Miller: networking - fix some bridge issues, and correct
IPv6 sysctl entries.
- Dan Aloni: make fork.c use proper macro rather than doing
get_exec_domain() by hand.

- pre1:
- me: make PCMCIA work even in the absense of PCI irq's
- me: add irq mapping capabilities for Cyrix southbridges
- me: make IBMMCA compile right as a module
- me: uhhuh. Major atomic-PTE SMP race boo-boo. Fixed.
- Andrea Arkangeli: don't allow people to set security-conscious
bits in mxcsr through ptrace SETFPXREGS.
- J?rgen Fischer: aha152x update
- Andrew Morton, Trond Myklebust: file locking fixes
- me: TLB invalidate race with highmem
- Paul Fulghum: synclink/n_hdlc driver updates
- David Miller: export sysctl_jiffies, and have the proper no-sysctl
version handy
- Neil Brown: RAID driver deadlock and nsfd read access to
execute-only files fix
- Keith Owens: clean up module information passing, remove
"get_module_symbol()".
- Jeff Garzik: network (and other) driver fixes and cleanups
- Andrea Arkangeli: scheduler cleanup.
- Ching-Ling Li: fix ALi sound driver memory leak
- Anton Altaparmakov: upcase fix for NTFS
- Thomas Woller: CS4281 audio update


2000-11-17 03:19:04

by Jeff V. Merkey

[permalink] [raw]
Subject: Re: test11-pre6

On Thu, Nov 16, 2000 at 06:33:11PM -0800, Linus Torvalds wrote:
>
> The log-file says it all..
>
> Linus
>
> -----
>
> - pre6:
> - Intel: start to add Pentium IV specific stuff (128-byte cacheline
> etc)
> - David Miller: search-and-destroy places that forget to mark us
> running after removing us from a wait-queue.
Level I
> - me: NFS client write-back ref-counting SMP instability.
> - me: fix up non-exclusive waiters
> - Trond Myklebust: Be more careful about SMP in NFS and RPC code
> - Trond Myklebust: inode attribute update race fix
> - Charles White: don't do unaligned accesses in cpqarray driver.
> - Jeff Garzik: continued driver cleanup and fixes
> - Peter Anvin: integrate more of the Intel patches.
> - Robert Love: add i815 signature to the intel AGP support
> - Rik Faith: DRM update to make it easier to sync up 2.2.x
> - David Woodhouse: make old 16-bit pcmcia controllers work
> again (ie i82365 and TCIC)
Level I

The list is getting shorter.

Jeff

>
> - pre5:
> - Rasmus Andersen: add proper "<linux/init.h>" for sound drivers
> - David Miller: sparc64 and networking updates
> - David Trcka: MOXA numbering starts from 0, not 1.
> - Jeff Garzik: sysctl.h standalone
> - Dag Brattli: IrDA finishing touches
> - Randy Dunlap: USB fixes
> - Gerd Knorr: big bttv update
> - Peter Anvin: x86 capabilities cleanup
> - Stephen Rothwell: apm initcall fix - smp poweroff should work
> - Andrew Morton: setscheduler() spinlock ordering fix
> - Stephen Rothwell: directory notification documentation
> - Petr Vandrovec: ncpfs capabilities check cleanup
> - David Woodhouse: fix jffs to use generic isxxxx() library
> - Chris Swiedler: oom_kill selection fix
> - Jens Axboe: re-merge after sleeping in ll_rw_block.
> - Randy Dunlap: USB updates (pegasus and ftdi_sio)
> - Kai Germaschewski: ISDN ppp header compression fixed
>
> - pre4:
> - Andrea Arcangeli: SMP scheduler memory barrier fixup
> - Richard Henderson: fix alpha semaphores and spinlock bugs.
> - Richard Henderson: clean up the file from hell: "xor.c"
>
> - pre3:
> - James Simmons: vgacon "printk()" deadlock with global irq lock.
> - don't poke blanked console on console output
> - Ching-Ling: get channels right on ALI audio driver
> - Dag Brattli and Jean Tourrilhes: big IrDA update
> - Paul Mackerras: PPC updates
> - Randy Dunlap: USB ID table support, LEDs with usbkbd, belkin
> serial converter.
> - Jeff Garzik: pcnet32 and lance net driver fix/cleanup
> - Mikael Pettersson: clean up x86 ELF_PLATFORM
> - Bartlomiej Zolnierkiewicz: sound and drm driver init fixes and
> cleanups
> - Al Viro: Jeff missed some kmap()'s. sysctl cleanup
> - Kai Germaschewski: ISDN updates
> - Alan Cox: SCSI driver NULL ptr checks
> - David Miller: networking updates, exclusive waitqueues nest properly,
> SMP i_shared_lock/page_table_lock lock order fix.
>
> - pre2:
> - Stephen Rothwell: directory notify could return with the lock held
> - Richard Henderson: CLOCKS_PER_SEC on alpha.
> - Jeff Garzik: ramfs and highmem: kmap() the page to clear it
> - Asit Mallick: enable the APIC in the official order
> - Neil Brown: avoid rd deadlock on io_request_lock by using a
> private rd-request function. This also avoids unnecessary
> request merging at this level.
> - Ben LaHaise: vmalloc threadign and overflow fix
> - Randy Dunlap: USB updates (plusb driver). PCI cacheline size.
> - Neil Brown: fix a raid1 on top of lvm bug that crept in in pre1
> - Alan Cox: various (Athlon mmx copy, NULL ptr checks for
> scsi_register etc).
> - Al Viro: fix /proc permission check security hole.
> - Can-Ru Yeou: SiS301 fbcon driver
> - Andrew Morton: NMI oopser and kernel page fault punch through
> both console_lock and timerlist_lock to make sure it prints out..
> - Jeff Garzik: clean up "kmap()" return type (it returns a kernel
> virtual address, ie a "void *").
> - Jeff Garzik: network driver docs, various one-liners.
> - David Miller: add generic "special" flag to page flags, to be
> used by architectures as they see fit. Like keeping track of
> cache coherency issues.
> - David Miller: sparc64 updates, make sparc32 boot again
> - Davdi Millner: spel "synchronous" correctly
> - David Miller: networking - fix some bridge issues, and correct
> IPv6 sysctl entries.
> - Dan Aloni: make fork.c use proper macro rather than doing
> get_exec_domain() by hand.
>
> - pre1:
> - me: make PCMCIA work even in the absense of PCI irq's
> - me: add irq mapping capabilities for Cyrix southbridges
> - me: make IBMMCA compile right as a module
> - me: uhhuh. Major atomic-PTE SMP race boo-boo. Fixed.
> - Andrea Arkangeli: don't allow people to set security-conscious
> bits in mxcsr through ptrace SETFPXREGS.
> - J?rgen Fischer: aha152x update
> - Andrew Morton, Trond Myklebust: file locking fixes
> - me: TLB invalidate race with highmem
> - Paul Fulghum: synclink/n_hdlc driver updates
> - David Miller: export sysctl_jiffies, and have the proper no-sysctl
> version handy
> - Neil Brown: RAID driver deadlock and nsfd read access to
> execute-only files fix
> - Keith Owens: clean up module information passing, remove
> "get_module_symbol()".
> - Jeff Garzik: network (and other) driver fixes and cleanups
> - Andrea Arkangeli: scheduler cleanup.
> - Ching-Ling Li: fix ALi sound driver memory leak
> - Anton Altaparmakov: upcase fix for NTFS
> - Thomas Woller: CS4281 audio update
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> Please read the FAQ at http://www.tux.org/lkml/

2000-11-17 03:32:17

by Ying Chen/Almaden/IBM

[permalink] [raw]
Subject: Re: test11-pre6


Linus,

You forgot about wakeup_bdflush(1) stuff.

Here is the patch again (against test10).
===============================================================
There are several places where schedule() is called after wakeup_bdflush(1)
is called. This is completely unnecessary, since wakeup_bdflush(1) already
gave up the control, and when the control is returned to the calling thread
who called wakeup_bdflush(1), it should just go on. Calling schedule()
after wakeup_bdflush(1) will make the calling thread give up control again.
This is a problem for some of those latency sensitive benchmarks (like SPEC
SFS) and applications.

============
diff -ruN mm.orig/highmem.c mm.opt/highmem.c
--- mm.orig/highmem.c Wed Oct 18 14:25:46 2000
+++ mm.opt/highmem.c Fri Nov 10 17:51:39 2000
@@ -310,8 +310,6 @@
bh = kmem_cache_alloc(bh_cachep, SLAB_BUFFER);
if (!bh) {
wakeup_bdflush(1); /* Sets task->state to TASK_RUNNING */
- current->policy |= SCHED_YIELD;
- schedule();
goto repeat_bh;
}
/*
@@ -324,8 +322,6 @@
page = alloc_page(GFP_BUFFER);
if (!page) {
wakeup_bdflush(1); /* Sets task->state to TASK_RUNNING */
- current->policy |= SCHED_YIELD;
- schedule();
goto repeat_page;
}
set_bh_page(bh, page, 0);
diff -ruN fs.orig/buffer.c fs.opt/buffer.c
--- fs.orig/buffer.c Thu Oct 12 14:19:32 2000
+++ fs.opt/buffer.c Fri Nov 10 20:05:44 2000
@@ -707,11 +707,8 @@
*/
static void refill_freelist(int size)
{
- if (!grow_buffers(size)) {
+ if (!grow_buffers(size))
wakeup_bdflush(1); /* Sets task->state to TASK_RUNNING */
- current->policy |= SCHED_YIELD;
- schedule();
- }
}

void init_buffer(struct buffer_head *bh, bh_end_io_t *handler, void
*private)
==============================


Ying Chen

2000-11-17 03:54:55

by David Miller

[permalink] [raw]
Subject: Re: test11-pre6

From: "Ying Chen/Almaden/IBM" <[email protected]>
Date: Thu, 16 Nov 2000 19:02:25 -0800

You forgot about wakeup_bdflush(1) stuff.

What are you talking about, did you even check the
patch?

Your changes are already in there.

Later,
David S. Miller
[email protected]

2000-11-17 07:54:48

by Erik Andersen

[permalink] [raw]
Subject: Re: test11-pre6

On Thu Nov 16, 2000 at 08:45:10PM -0700, Jeff V. Merkey wrote:
> >
> > - pre6:
> > - Intel: start to add Pentium IV specific stuff (128-byte cacheline
> > etc)
> > - David Miller: search-and-destroy places that forget to mark us
> > running after removing us from a wait-queue.
> Level I
> > - me: NFS client write-back ref-counting SMP instability.
> > - me: fix up non-exclusive waiters
> > - Trond Myklebust: Be more careful about SMP in NFS and RPC code
> > - Trond Myklebust: inode attribute update race fix
> > - Charles White: don't do unaligned accesses in cpqarray driver.
> > - Jeff Garzik: continued driver cleanup and fixes
> > - Peter Anvin: integrate more of the Intel patches.
> > - Robert Love: add i815 signature to the intel AGP support
> > - Rik Faith: DRM update to make it easier to sync up 2.2.x
> > - David Woodhouse: make old 16-bit pcmcia controllers work
> > again (ie i82365 and TCIC)
> Level I
>
> The list is getting shorter.

WTF is "Level I" supposed to mean and why have you inserted it seemingly
randomly into the changelog and why are you telling the world about it? I've
seen you do this several times and I am completely baffled. Surely you have
some reason for wanting to share?

-Erik

--
Erik B. Andersen email: [email protected]
--This message was written using 73% post-consumer electrons--

2000-11-17 08:04:09

by Chris Wedgwood

[permalink] [raw]
Subject: Re: test11-pre6

On Thu, Nov 16, 2000 at 06:33:11PM -0800, Linus Torvalds wrote:

The log-file says it all..

Linus

-----

- pre6:
- Intel: start to add Pentium IV specific stuff (128-byte cacheline
etc)
- David Miller: search-and-destroy places that forget to mark us
running after removing us from a wait-queue.
- me: NFS client write-back ref-counting SMP instability.
- me: fix up non-exclusive waiters
- Trond Myklebust: Be more careful about SMP in NFS and RPC code
- Trond Myklebust: inode attribute update race fix
- Charles White: don't do unaligned accesses in cpqarray driver.
- Jeff Garzik: continued driver cleanup and fixes
- Peter Anvin: integrate more of the Intel patches.
- Robert Love: add i815 signature to the intel AGP support
- Rik Faith: DRM update to make it easier to sync up 2.2.x
- David Woodhouse: make old 16-bit pcmcia controllers work
again (ie i82365 and TCIC)

There are 'hotplug' additions -- these now mean the networking code
won't build without "CONFIG_HOTPLUG=y".

What is the correct fix here; fix the networking code or just take
this option out and ensure hotplug functionality is no longer
compile-time dependent (always compiled in) ?


--cw

2000-11-17 08:16:34

by David Lang

[permalink] [raw]
Subject: Re: test11-pre6

-----BEGIN PGP SIGNED MESSAGE-----

he flags what he considers 'critical fixes' with the level 1 tag
(something about them being level 1 problems or something like that)

David Lang

On Fri, 17 Nov 2000, Erik Andersen wrote:

> Date: Fri, 17 Nov 2000 00:30:46 -0700
> From: Erik Andersen <[email protected]>
> To: Jeff V. Merkey <[email protected]>
> Cc: Kernel Mailing List <[email protected]>
> Subject: Re: test11-pre6
>
> On Thu Nov 16, 2000 at 08:45:10PM -0700, Jeff V. Merkey wrote:
> > >
> > > - pre6:
> > > - Intel: start to add Pentium IV specific stuff (128-byte cacheline
> > > etc)
> > > - David Miller: search-and-destroy places that forget to mark us
> > > running after removing us from a wait-queue.
> > Level I
> > > - me: NFS client write-back ref-counting SMP instability.
> > > - me: fix up non-exclusive waiters
> > > - Trond Myklebust: Be more careful about SMP in NFS and RPC code
> > > - Trond Myklebust: inode attribute update race fix
> > > - Charles White: don't do unaligned accesses in cpqarray driver.
> > > - Jeff Garzik: continued driver cleanup and fixes
> > > - Peter Anvin: integrate more of the Intel patches.
> > > - Robert Love: add i815 signature to the intel AGP support
> > > - Rik Faith: DRM update to make it easier to sync up 2.2.x
> > > - David Woodhouse: make old 16-bit pcmcia controllers work
> > > again (ie i82365 and TCIC)
> > Level I
> >
> > The list is getting shorter.
>
> WTF is "Level I" supposed to mean and why have you inserted it seemingly
> randomly into the changelog and why are you telling the world about it? I've
> seen you do this several times and I am completely baffled. Surely you have
> some reason for wanting to share?
>
> -Erik
>
> --
> Erik B. Andersen email: [email protected]
> --This message was written using 73% post-consumer electrons--
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> Please read the FAQ at http://www.tux.org/lkml/
>

-----BEGIN PGP SIGNATURE-----
Version: PGP 6.5.2

iQEVAwUBOhTszD7msCGEppcbAQFNgwgAisbSnToAbGxSXqeD8zw/hDqiSg3Fj8Wx
uLjTZTJqv7XHPQSoaHzXuguBUr9t6OD+hmAiIhcWZpZ5C1RysWH1tRnQfdQRBe7N
Sca1iO4RBvN5jcZPwgX/+ztBrwtntBVjvlKE4EvZICuhHXAqyrnwNPOXOI2b+jju
QJXtZGr1Flhj1FK8kzNxr+iXFw9QQufkRO/kmcMQcUFf3syEfYcSMKR1eg74Yn13
PYL4EwfPGVBQr1jOSuxOI+8G450QFSYQL+eHCRH91C6uSHXEhgP6JiJYLlMulJya
5Ynl+j1vQ61HUa5/yAVgXG5i2tiY/sPyHYkDG7+M21PSoE80EOhO9Q==
=VdLu
-----END PGP SIGNATURE-----

2000-11-17 08:27:27

by Jeff V. Merkey

[permalink] [raw]
Subject: Re: test11-pre6

On Fri, Nov 17, 2000 at 12:30:46AM -0700, Erik Andersen wrote:
> On Thu Nov 16, 2000 at 08:45:10PM -0700, Jeff V. Merkey wrote:
> > >
> > > - pre6:
> > > - Intel: start to add Pentium IV specific stuff (128-byte cacheline
> > > etc)
> > > - David Miller: search-and-destroy places that forget to mark us
> > > running after removing us from a wait-queue.
> > Level I
> > > - me: NFS client write-back ref-counting SMP instability.
> > > - me: fix up non-exclusive waiters
> > > - Trond Myklebust: Be more careful about SMP in NFS and RPC code
> > > - Trond Myklebust: inode attribute update race fix
> > > - Charles White: don't do unaligned accesses in cpqarray driver.
> > > - Jeff Garzik: continued driver cleanup and fixes
> > > - Peter Anvin: integrate more of the Intel patches.
> > > - Robert Love: add i815 signature to the intel AGP support
> > > - Rik Faith: DRM update to make it easier to sync up 2.2.x
> > > - David Woodhouse: make old 16-bit pcmcia controllers work
> > > again (ie i82365 and TCIC)
> > Level I
> >
> > The list is getting shorter.
>
> WTF is "Level I" supposed to mean and why have you inserted it seemingly
> randomly into the changelog and why are you telling the world about it? I've
> seen you do this several times and I am completely baffled. Surely you have
> some reason for wanting to share?

NetWare was delineated into five levels of bugs to determine commercial
ship worthiness. NT is somewhat sloppier than what Novell does because
they are not running a ring 0 OS. Kernel development is Ring 0
development, so a lot of the same concepts apply:

Level I - Abends and Severe Kernel or Memory Corruption bugs, or
functionality bugs. (Oops level stuff, or Deadlock types of
bugs).

Level II - Critical Bugs in peripheral subsystems, like broken
drivers that would abend (Oops), but that would not halt shipment
of core components.

Level III - boundry condition bugs, like app or subsystem problems
in low memory, intermittent LAN or obscure hardware related bugs.

Level IV - Missing Functionality, like the speaker volume not working
with pcmcia-cs-3.1.22 on an IBM thinkpad -- non-critical, but annoying.

Level V - Feature/Documentation out of sync, docs need updating, etc.

Where I came from, when you ht 0 Level I bugs, time to ship. When Linus
can post a 2.4 status that has no new Level I issues, I will put my
2.4 RPM out. To date, i just keeps dragging on, with a whole
new slew of new Level I bugs every week, but it is having fewer and
fewer of them.

He obviously posts these updates for public comment. We ship Linux,
so there's our 2 cents.

Jeff


>
> -Erik
>
> --
> Erik B. Andersen email: [email protected]
> --This message was written using 73% post-consumer electrons--

2000-11-17 09:37:38

by Jani Monoses

[permalink] [raw]
Subject: [PATCH-2.4.0-10] vgacon.c


Hi ,
here are some cleanings in drivers/char/vgacon.c
1) I suppose that static initialisers are 0 inited so no need for "= 0"
2) there is a line in vgacon_scroll which I think is unnecesarily
duplicated

Could anyone comment on this?

Jani


Attachments:
vgacon.diff (1.71 kB)

2000-11-17 11:08:00

by David Woodhouse

[permalink] [raw]
Subject: Re: test11-pre6


Missing up_and_exit() which is required for killing kernel threads on
cleanup_module().

This patch also fixes JFFS and USB hub.c to use it.

Index: include/linux/kernel.h
===================================================================
RCS file: /inst/cvs/linux/include/linux/kernel.h,v
retrieving revision 1.1.1.1.2.11
diff -u -r1.1.1.1.2.11 kernel.h
--- include/linux/kernel.h 2000/09/26 18:57:59 1.1.1.1.2.11
+++ include/linux/kernel.h 2000/11/17 10:30:05
@@ -45,10 +45,14 @@
#define FASTCALL(x) x
#endif

+struct semaphore;
+
extern struct notifier_block *panic_notifier_list;
NORET_TYPE void panic(const char * fmt, ...)
__attribute__ ((NORET_AND format (printf, 1, 2)));
NORET_TYPE void do_exit(long error_code)
+ ATTRIB_NORET;
+NORET_TYPE void up_and_exit(struct semaphore *, long)
ATTRIB_NORET;
extern unsigned long simple_strtoul(const char *,char **,unsigned int);
extern long simple_strtol(const char *,char **,unsigned int);
Index: kernel/exit.c
===================================================================
RCS file: /inst/cvs/linux/kernel/exit.c,v
retrieving revision 1.3.2.29
diff -u -r1.3.2.29 exit.c
--- kernel/exit.c 2000/09/18 13:54:01 1.3.2.29
+++ kernel/exit.c 2000/11/17 10:30:05
@@ -467,6 +467,14 @@
goto fake_volatile;
}

+NORET_TYPE void up_and_exit(struct semaphore *sem, long code)
+{
+ if (sem)
+ up(sem);
+
+ do_exit(code);
+}
+
asmlinkage long sys_exit(int error_code)
{
do_exit((error_code&0xff)<<8);
Index: kernel/ksyms.c
===================================================================
RCS file: /inst/cvs/linux/kernel/ksyms.c,v
retrieving revision 1.3.2.66
diff -u -r1.3.2.66 ksyms.c
--- kernel/ksyms.c 2000/11/17 09:35:53 1.3.2.66
+++ kernel/ksyms.c 2000/11/17 10:30:05
@@ -418,6 +418,7 @@
EXPORT_SYMBOL(iomem_resource);

/* process management */
+EXPORT_SYMBOL(up_and_exit);
EXPORT_SYMBOL(__wake_up);
EXPORT_SYMBOL(wake_up_process);
EXPORT_SYMBOL(sleep_on);
Index: drivers/usb/hub.c
===================================================================
RCS file: /inst/cvs/linux/drivers/usb/hub.c,v
retrieving revision 1.2.2.41
diff -u -r1.2.2.41 hub.c
--- drivers/usb/hub.c 2000/11/13 11:00:15 1.2.2.41
+++ drivers/usb/hub.c 2000/11/17 10:30:05
@@ -36,7 +36,7 @@

static DECLARE_WAIT_QUEUE_HEAD(khubd_wait);
static int khubd_pid = 0; /* PID of khubd */
-static int khubd_running = 0;
+static DECLARE_MUTEX_LOCKED(khubd_exited);

static int usb_get_hub_descriptor(struct usb_device *dev, void *data, int size)
{
@@ -741,8 +741,6 @@

static int usb_hub_thread(void *__hub)
{
- khubd_running = 1;
-
lock_kernel();

/*
@@ -762,9 +760,8 @@
} while (!signal_pending(current));

dbg("usb_hub_thread exiting");
- khubd_running = 0;

- return 0;
+ up_and_exit(&khubd_exited, 0);
}

static struct usb_device_id hub_id_table [] = {
@@ -815,18 +812,8 @@

/* Kill the thread */
ret = kill_proc(khubd_pid, SIGTERM, 1);
- if (!ret) {
- /* Wait 10 seconds */
- int count = 10 * 100;

- while (khubd_running && --count) {
- current->state = TASK_INTERRUPTIBLE;
- schedule_timeout(1);
- }
-
- if (!count)
- err("giving up on killing khubd");
- }
+ down(&khubd_exited);

/*
* Hub resources are freed for us by usb_deregister. It calls
Index: fs/jffs/intrep.c
===================================================================
RCS file: /inst/cvs/linux/fs/jffs/Attic/intrep.c,v
retrieving revision 1.1.2.5
diff -u -r1.1.2.5 intrep.c
--- fs/jffs/intrep.c 2000/11/15 12:15:06 1.1.2.5
+++ fs/jffs/intrep.c 2000/11/17 10:30:05
@@ -3054,9 +3054,8 @@
case SIGKILL:
D1(printk("jffs_garbage_collect_thread(): SIGKILL received.\n"));
c->gc_task = NULL;
- up(&c->gc_thread_sem);
unlock_kernel();
- return(0);
+ up_and_exit(&c->gc_thread_sem, 0);
}
}



--
dwmw2


2000-11-17 12:22:06

by Tigran Aivazian

[permalink] [raw]
Subject: [patch] hotplug fixes Re: test11-pre6

On Thu, 16 Nov 2000, Linus Torvalds wrote:

>
> The log-file says it all..
>
> Linus

No, I am sorry but it does not mention hotplug things in net/core/dev.c
and they are broken. The fix below.

Regards,
Tigran

diff -urN -X dontdiff linux/init/main.c work/init/main.c
--- linux/init/main.c Fri Nov 17 10:29:34 2000
+++ work/init/main.c Fri Nov 17 11:27:27 2000
@@ -712,11 +712,13 @@
init_pcmcia_ds(); /* Do this last */
#endif

+#ifdef CONFIG_HOTPLUG
/* do this after other 'do this last' stuff, because we want
* to minimize spurious executions of /sbin/hotplug
* during boot-up
*/
net_notifier_init();
+#endif

/* Mount the root filesystem.. */
mount_root();
diff -urN -X dontdiff linux/net/core/dev.c work/net/core/dev.c
--- linux/net/core/dev.c Fri Nov 17 10:29:34 2000
+++ work/net/core/dev.c Fri Nov 17 11:27:15 2000
@@ -2704,6 +2704,7 @@
return 0;
}

+#ifdef CONFIG_HOTPLUG

/* Notify userspace when a netdevice event occurs,
* by running '/sbin/hotplug net' with certain
@@ -2765,3 +2766,4 @@
printk (KERN_WARNING "unable to register netdev notifier\n"
KERN_WARNING "/sbin/hotplug will not be run.\n");
}
+#endif


2000-11-17 12:28:40

by Jeff Garzik

[permalink] [raw]
Subject: Re: test11-pre6

Chris Wedgwood wrote:
> There are 'hotplug' additions -- these now mean the networking code
> won't build without "CONFIG_HOTPLUG=y".
>
> What is the correct fix here; fix the networking code or just take
> this option out and ensure hotplug functionality is no longer
> compile-time dependent (always compiled in) ?

Surround the networking code with CONFIG_HOTPLUG. A patch has already
been posted to lkml.

Jeff


--
Jeff Garzik |
Building 1024 | The chief enemy of creativity is "good" sense
MandrakeSoft | -- Picasso

2000-11-17 16:42:48

by Mike A. Harris

[permalink] [raw]
Subject: Re: test11-pre6

On Fri, 17 Nov 2000, Erik Andersen wrote:

>> > - Rik Faith: DRM update to make it easier to sync up 2.2.x
>> > - David Woodhouse: make old 16-bit pcmcia controllers work
>> > again (ie i82365 and TCIC)
>> Level I
>>
>> The list is getting shorter.
>
>WTF is "Level I" supposed to mean and why have you inserted it seemingly
>randomly into the changelog and why are you telling the world about it? I've
>seen you do this several times and I am completely baffled. Surely you have
>some reason for wanting to share?

I believe he is pointing out showstopper bugs getting fixed, and
the number of them decreasing over time thus symbolizing we're
close to a 2.4.0 kernel release. That is what I see anyway..



----------------------------------------------------------------------
Mike A. Harris - Linux advocate - Open source advocate
This message is copyright 2000, all rights reserved.
Views expressed are my own, not necessarily shared by my employer.
----------------------------------------------------------------------

#[Mike A. Harris bash tip #3 - how to disable core dumps]
# Put the following at the bottom of your ~/.bash_profile
ulimit -c 0