public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: Linux-2.5.28
@ 2002-07-25  0:07 Jean Tourrilhes
  2002-07-25  6:02 ` Linux-2.5.28 Linus Torvalds
  0 siblings, 1 reply; 48+ messages in thread
From: Jean Tourrilhes @ 2002-07-25  0:07 UTC (permalink / raw)
  To: Linux kernel mailing list

Alessandro Suardi wrote :
> But, on my UP:
> 
> if [ -r System.map ]; then /sbin/depmod -ae -F System.map  2.5.28; fi
> depmod: *** Unresolved symbols in /lib/modules/2.5.28/kernel/net/irda/irda.o
> depmod: 	cli
> depmod: 	restore_flags
> depmod: 	save_flags
> 
> (and no, CONFIG_SMP is not set :)
> 
> 
> Ciao,
> 
> --alessandro

	IrDA is not going to get fixed soon. Over the time I've been
fixing the IrDA stack, I've slowly fixed some of most dangerous
locking problems, but fixing the remaining code will involve some
serious re-work and is unfortunately not just about sprinking a few
spinlocks there and there.
	That's life...

	Jean

^ permalink raw reply	[flat|nested] 48+ messages in thread
* Re: Linux-2.5.28
@ 2002-07-25 18:13 Jean Tourrilhes
  0 siblings, 0 replies; 48+ messages in thread
From: Jean Tourrilhes @ 2002-07-25 18:13 UTC (permalink / raw)
  To: Linux kernel mailing list, Linus Torvalds

Linus wrote :
> In article <20020724170752.A14089@bougret.hpl.hp.com>,
> Jean Tourrilhes  <jt@bougret.hpl.hp.com> wrote:
> >
> >	IrDA is not going to get fixed soon. Over the time I've been
> >fixing the IrDA stack, I've slowly fixed some of most dangerous
> >locking problems, but fixing the remaining code will involve some
> >serious re-work and is unfortunately not just about sprinking a few
> >spinlocks there and there.
> 
> Actually, the way to emulate cli/sti behaviour is not to "sprinkle"
> spinlocks, you can generally do it with _one_ spinlock per subsystem.

	Unfortunately, it won't work for IrDA. The reason is that you
tend to have path like this :
		IrLAP -> IrLMP -> IrTTP -> IrNET/IrCOMM/IrLAN/IrSock -> IrTTP -> IrLMP -> IrLAP
	And I can't have one global spinlock for the IrDA stack,
because the higher layers (IrNET/IrCOMM/IrLAN/IrSOCK) are totally
independant and have their own locking (for example, I can guarantee
you the IrNET is already safe).
	I'm also especially nervous about keeping a spinlock and irq
off while calling protocols higher layres, such as the various socket
function (IrSOCK), or the PPP mux (IrNET), or the TTY layer (IrCOMM).
	My feeling is that doing the _one_ spinlock properly would be
as much work than fixing the root problem (the hasbins).

> So the straightforward way to port away from cli/sti is to add one
> spinlock which takes their place for that subsystem, and then get that
> lock on entry to subsystem interrupts and timer events, and in all
> places where there used to be a cli/sti. 

	Been there, done that. I've been the one doing most the
original SMP work in most Wireless LAN drivers (and the HP100 driver),
and I'm still the one doing most testing.
	So, I feel qualified to comment about the IrDA situation.

> It gets a bit more complicated partly because you could nest cli/sti,
> and you can't nest spinlocks, but on the whole none of it is "rocket
> science". 

	No, here the problem is that the whole locking design is
broken. I know perfectly that the hashbin locking is totally unsafe
and it's a miracle that it work at all. And I'm not sure if I will
ever get something 100% safe.

> Of course, doing it _right_ (rather than try to just translate the
> semantics of cli/sti fairly directly) can be a lot more work. But even a
> straight translation improves on what used to be, since different
> subsystems will now be independent, and since it is easier later on to
> split the one lock up on a as-needed basis.
> 
> 			Linus

	Unfortunately, with the current IrDA code, I don't have much
choice but to do it somewhat right.
	Now, it's a matter of priorities. The other IrDA developpers
have been bitten by "nothing is wrong" IDE in 2.5.X, so the logical
course of action is to shift to 2.4.X until I find time to get back to
this issue and catch up.
	But having IrDA not functional in 2.5.X for a few months is
certainly not that painful compared to other problems in 2.5.X.
	And as I was saying to Ingo, the good news is that I'll
probably also no longer will need "deliver_to_old_one()" in the
networking code.

	Have fun...

	Jean

^ permalink raw reply	[flat|nested] 48+ messages in thread
* Linux-2.5.28
@ 2002-07-24 21:13 Linus Torvalds
  2002-07-24 21:46 ` Linux-2.5.28 Paul Larson
                   ` (4 more replies)
  0 siblings, 5 replies; 48+ messages in thread
From: Linus Torvalds @ 2002-07-24 21:13 UTC (permalink / raw)
  To: Kernel Mailing List


The most fundamental part of this has already been discussed a lot and
posted to the kernel list, including a lot of fixes (all hopefully 
integrated). That's obviously the removal of the global irq lock. In the 
short term (famous last words) that breaks a number of SMP configurations, 
but fixing them should not be horribly hard.

A lot of other stuff here too - the regular USB updates, fbdev updates,
m68k and ppc64 updates, IDE fix, and a sync-up with Al. Serial lawyer all 
shook up (the irq lock kind of forced that one, but it's certainly been 
pending long enough..)

Go wild,

		Linus

---

Summary of changes from v2.5.27 to v2.5.28
============================================

<dalecki@evision.ag>:
  o IDE-101

<jb@jblache.org>:
  o drivers/usb/misc/tiglusb.c v1.04

<jsimmons@maxwell.earthlink.net>:
  o Added help for the Toshbia and Permedia3 framebuffer devices. Small
    fixes for the ATI 128 card and the logo drawing code in fbcon.c.
    Proper handling of data for pci handling
  o Added VBI support to VESA. ATY 128 compiles now :-)
  o Removed all old fbgen code. Small cleanups
  o Synced up to m68k changes

<levon@movementarian.org>:
  o consolidate task->mm code + fix

<petkan@users.sourceforge.net>:
  o USB: rtl8150 updated

Alexander Viro <viro@math.psu.edu>:
  o make hfs use regular semaphores
  o Use wipe_partitions() where appropriate
  o partition parsing cleanup
  o block device size cleanups
  o partition handling locking cleanups
  o blk_ioctl() not exported anymore
  o paride cleanup and fixes
  o SCSI ->bios_param() switched to struct block_device *
  o removal of dead prototypes
  o jffs kdev_t cleanups
  o fix for nfs_unlink and vfs_unlink
  o Fix dcache deadlock introduced by previous fix

Andrew Morton <akpm@zip.com.au>:
  o disable highpte in rmap kernels
  o page-writeback.c compile warning fix

Anton Blanchard <anton@samba.org>:
  o ppc64: enable eeh on non-LPAR
  o ppc64: copy_user_page and clear_user_page now take a page * ppc64:
    updates for mmu gather code
  o ppc64: Use non context synchronising mtmsrd. Cleanup init.c
  o ppc64: 64 and 32 bit signal cleanups from Stephen Rothwell
  o ppc64: Implement copy_siginfo_to_user32 from Stephen Rothwell
  o ppc64: Remove POWER4 special case for cache_decay_ticks
  o ppc64: Initial DISCONTIGMEM and NUMA support
  o ppc64: Only use irq balancing on openpic for the moment
  o ppc64: update ppc64 tlb batch code
  o ppc64: Add fls
  o ppc64: POWER4 lazy icache flushing
  o ppc64: add missing gcc barrier in softirq code
  o ppc64: export timebase frequency in /proc/cpuinfo
  o pSeries HVC console: Fix hang up race - from Dave Engebretsen
  o pSeries HVC console: Add SYSRQ and handle errors better from Dave
    Engebretsen
  o pSeries firmware flash support from Todd Inglett
  o ppc64: iSeries updates
  o ppc64: increase IRQ_KMALLOC_ENTRIES
  o ppc64: ptrace cleanup from Stephen Rothwell
  o ppc64: ptrace32 fix when tracing 64bit tasks from Will Schmidt
  o ppc64: config.h resync and remove some stale code ppc64: turn off
    STRICT_MM_TYPECHECKS
  o pSeries HVC console: fix hvc_hangup definition
  o ppc64: remove __openfirmware and __chrp
  o ppc64: include/asm/md.h is not used any more
  o ppc64: remove some stale code
  o ppc64: updates for 2.5.21
  o ppc64: Makefile updates
  o ppc64: non linear cpu support
  o ppc64: define new scheduler hooks
  o ppc64: update for recent 32/64bit binutils
  o ppc64: Fix warnings
  o ppc64: Fix for 32 bit ELF timeval handling, from sparc64
  o ppc64: define SMP_CACHE_BYTES and cleanup HZ handling
  o ppc64: use symbolic names for fault types
  o ppc64: _switch_to -> __switch_to
  o ppc64: defconfig update
  o ppc64: exception should be 0x480 for instruction SLB miss - jimix
  o ppc64: misc cleanups
  o ppc64: __clear_user should return number of bytes not copied
  o ppc64: iSeries update - from 2.4
  o ppc64: add comment and missing include
  o ppc64: Add northstar CPU
  o ppc64: Add winnipeg support
  o ppc64: UP fix for irq affinity
  o ppc64: add POWER4+ (GQ) support
  o ppc64: add rmap.h
  o ppc64: workaround for gcc 3.1, otherwise we busy loop in
    pte_chain_lock()
  o ppc64: fix test_bit and remove workaround in cpu_relax
  o ppc64: big IRQ lock removal
  o ppc64: Fix for spurious interrupts in LPAR without ISA
  o ppc64: merge some 2.4 fixes
  o ppc64: missed during last merge
  o ppc64: Designated initializers from Rusty
  o ppc64: add Config.help
  o ppc64: Optimise for 630 by default
  o ppc64: put paca in r13 and fix non zero boot cpu
  o flags must be unsigned long]
  o Make tlb_remove_tlb_entry take ptep]
  o Fix token ring compile]

Christopher Hoover <ch@hpl.hp.com>:
  o for ohci on SA-1111
  o set_device_description oops fixage mk2

Dave Kleikamp <shaggy@kleikamp.austin.ibm.com>:
  o Clean up Documentation/filesystems/jfs.txt
  o JFS: Use cond_resched()
  o JFS: cosmetic syncup with 2.4 code
  o JFS: Replace depreciated initializer syntax with C99 style

David Brownell <david-b@pacbell.net>:
  o usb_set_interface() doc
  o hid_ff_init could not find initializer

Geert Uytterhoeven <geert@linux-m68k.org>:
  o M68k update (1-49)

Greg Kroah-Hartman <greg@kroah.com>:
  o PCI Hotplug: fix i_nlink for root inode in pcihpfs
  o PCI Hotplug: fix the dbg() macro to work properly on older versions
    of gcc
  o USB pl2303: new device support added
  o USB: rio500.c bugfix
  o USB: usb-serial.h cleanups
  o USB: changed the interface name to be a bit more unique

Hugh Dickins <hugh@veritas.com>:
  o shm_destroy lock hang
  o shmem_link duplicated test
  o shmem_file_write double kunmap
  o shmem_getpage_locked missing unlock

Ingo Molnar <mingo@elte.hu>:
  o "big IRQ lock" removal, IRQ cleanups
  o "big IRQ lock" removal docs
  o Re: [patch] cli()/sti() cleanup
  o irqlock patch 2.5.27-H6
  o scheduler fixes

James Simmons <jsimmons@heisenberg.transvirtual.com>:
  o Removal of nonexistant iplan16 support. Compile fix for aty128fb
    driver. Proper handling of PCI private data for fbdev drivers
  o Removed old FB_COMPAT_XPMAC stuff. Ported over the Riva framebuffer
    driver over to the new api. Updated the Voodoo 1 driver
  o Added Help info for Permedia 3 and Toshiba TX3912 graphics card
    support
  o Updated Voodoo 1 documentation
  o Finished the NVIDIA driver port to the new api. Killed a strtok in
    sstfb
  o Added VBI support to VESA
  o Supports more NVIDIA cards
  o NVIDIA fixes to handle HSYNC and VSYNC flags. Set the registers to
    read the image data as big endian. Handle the different smem_len
    for different kinds of cards
  o Cleanusp for the 3Dfx driver
  o Finally touchs to the New mac framebuffer driver. Started the port
    of the ATI 128 driver to the new api. A few small optimizations and
    a bug fix for SUN 12x22 fonts with the new accel code
  o M68K updates for there framebuffer devices
  o More changes to port over teh ATI 128 driver to new api.
    Optimizations for fbgen and small bug fix for gen_update_var
  o Ported over ATI 128 Rage driver to new api. A few config mistakes
    where fixed
  o Ported SA1100 framebuffer over to new fbdev api
  o Fixed bug for large logos. Also had to make a patch to handle X
    server reversing the image order programming verses how the riva
    fbdev driver does it
  o Removed fbcon-vga.c and the old fbgen code. Ported over the SgiVW,
    OpenFirmware fbdev driver and started the Mach64 fbdev driver to
    the new api. A few simple typos as well
  o Port step some changes at authors request
  o Reversed so more changes
  o Permiedia 2 support on PowerPC platform
  o Updates to SIS framebuffer driver
  o Porting Mach 64 drive over to new api

Jan Harkes <jaharkes@cs.cmu.edu>:
  o uhci-hcd suspend fix

Jens Axboe <axboe@burns.home.kernel.dk>:
  o add __blk_stop_queue() as locked variant of blk_stop_queue() and
    make cpqarray and cciss use these

kai.makisara@kolumbus.fi <Kai.Makisara@kolumbus.fi>:
  o SCSI tape driver fixes for 2.5.27

Linus Torvalds <torvalds@home.transmeta.com>:
  o Fix incoherent LDT at mmap exit
  o Update ensoniq sound driver to new irq serialization
  o Remove extraneous dget/dput pair in vfs_unlink() that confused the
    NFS client code wrt the exclusiveness of a dentry getting removed.
  o Remove unused variable
  o Fix up irqlock removal patch, avoid compiler warnings
  o Fixups for previous changesets, avoid warnings etc

Neil Brown <neilb@cse.unsw.edu.au>:
  o type safe(r) list_entry repacement: container_of
  o MD - Fix two bugs that would cause sync_sbs to Oops
  o MD - Convert struct initialised in md to "the new way"
  o MD - Remove get_spare declaration and associated warning
  o NFSD - new struct initialisers for nfsd

Richard Gooch <rgooch@atnf.csiro.au>:
  o Switched to ISO C structure field initialisers

Rik van Riel <riel@conectiva.com.br>:
  o urgent rmap bugfix

Robert Love <rml@tech9.net>:
  o Re: "big IRQ lock" removal docs

Russell King <rmk@arm.linux.org.uk>:
  o Serial driver stuff
  o [SERIAL] Rename files to remove serial_ prefix
  o [SERIAL] Fix up various filenames, etc, from Ingo's merge of serial
  o [SERIAL] Fix another SMP deadlock with modem status signal changes
    The original fix sent to Ingo for stop_tx didn't take account that
    the start_tx and stop_tx methods can be called from the device
    specific code under the port spinlock.  Consequently, we move the
    spinlock to the callers of these methods.  Documentation updated to
    reflect the change.
  o [SERIAL] Fix deadlock in __uart_start introduced in previous cset
    Thanks to Zwane Mwaikambo for finding this.
  o [SERIAL] Fix sa1100 serial driver stop function parameters

Rusty Russell <rusty@rustcorp.com.au>:
  o AGP designated initializer update
  o drivers/hotplug designated initializers

Trond Myklebust <trond.myklebust@fys.uio.no>:
  o 2.5.27 fix potential spinlocking race



^ permalink raw reply	[flat|nested] 48+ messages in thread

end of thread, other threads:[~2002-07-29 18:12 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-07-25  0:07 Linux-2.5.28 Jean Tourrilhes
2002-07-25  6:02 ` Linux-2.5.28 Linus Torvalds
2002-07-25  5:59   ` Linux-2.5.28 David S. Miller
2002-07-25  9:28     ` Linux-2.5.28 Ingo Molnar
2002-07-25  9:50       ` Linux-2.5.28 Marcin Dalecki
2002-07-25  9:59         ` Linux-2.5.28 Ingo Molnar
2002-07-25 10:18       ` Linux-2.5.28 David S. Miller
  -- strict thread matches above, loose matches on Subject: below --
2002-07-25 18:13 Linux-2.5.28 Jean Tourrilhes
2002-07-24 21:13 Linux-2.5.28 Linus Torvalds
2002-07-24 21:46 ` Linux-2.5.28 Paul Larson
2002-07-24 21:57   ` Linux-2.5.28 Paul Larson
2002-07-24 22:11     ` Linux-2.5.28 Robert Love
2002-07-24 22:14     ` Linux-2.5.28 William Lee Irwin III
2002-07-24 22:20       ` Linux-2.5.28 Paul Larson
2002-07-24 23:31         ` Linux-2.5.28 Alessandro Suardi
2002-07-24 22:22       ` Linux-2.5.28 Robert Love
2002-07-24 22:49         ` Linux-2.5.28 Paul Larson
2002-07-24 22:32   ` Linux-2.5.28 Linus Torvalds
2002-07-24 22:30 ` Linux-2.5.28 Daniel Egger
2002-07-24 22:52   ` Linux-2.5.28 Linus Torvalds
2002-07-24 23:31     ` Linux-2.5.28 Daniel Egger
2002-07-25  1:08       ` Linux-2.5.28 Linus Torvalds
2002-07-25  1:54         ` Linux-2.5.28 Bartlomiej Zolnierkiewicz
2002-07-25  9:21         ` Linux-2.5.28 Daniel Egger
2002-07-27 23:57         ` Linux-2.5.28 Andries Brouwer
2002-07-28  2:02           ` Linux-2.5.28 Alan Cox
2002-07-28  2:47           ` Linux-2.5.28 Linus Torvalds
2002-07-28  4:40             ` Linux-2.5.28 Linus Torvalds
2002-07-28  4:47               ` Linux-2.5.28 Larry McVoy
2002-07-28 12:50               ` Linux-2.5.28 Bartlomiej Zolnierkiewicz
2002-07-28 15:11             ` Linux-2.5.28 Andries Brouwer
2002-07-28  2:47           ` Linux-2.5.28 Greg KH
2002-07-28 15:56             ` Linux-2.5.28 Andries Brouwer
2002-07-28 18:53               ` Linux-2.5.28 Greg KH
2002-07-28 21:13                 ` Linux-2.5.28 Andries Brouwer
2002-07-29 10:16             ` Linux-2.5.28 Marcin Dalecki
2002-07-29 18:15               ` Linux-2.5.28 Greg KH
     [not found]           ` <200207282203.g6SM3KI15155@fachschaft.cup.uni-muenchen.de>
2002-07-28 23:34             ` Linux-2.5.28 Andries Brouwer
2002-07-24 23:06   ` Linux-2.5.28 Jonathan Corbet
2002-07-25  5:56     ` Linux-2.5.28 Jens Axboe
2002-07-25  7:36       ` Linux-2.5.28 Marcin Dalecki
2002-07-24 22:43 ` Linux-2.5.28 Russell King
2002-07-24 23:02   ` Linux-2.5.28 Linus Torvalds
2002-07-24 23:55   ` Linux-2.5.28 Skip Ford
2002-07-24 23:15 ` Linux-2.5.28 Dave Jones
2002-07-24 23:19   ` Linux-2.5.28 Linus Torvalds
2002-07-25 10:16   ` Linux-2.5.28 Alexander Hoogerhuis
2002-07-26  7:57 ` Linux-2.5.28 Marcin Dalecki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox