Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Linux v2.5.29

0 views
Skip to first unread message

Linus Torvalds

unread,
Jul 26, 2002, 11:20:07 PM7/26/02
to

Hmm.. All over the map. IDE patches as usual, USB updates, tons of C99
named initializers work, ACPI update, fixes from Alan, driverfs race fixes
and cleanups, SCSI driver fixes from Doug and tons of input layer updates.

Oh, and a new LDM driver, Rusty's CPU hotplug infrastructure, and Ingo's
new cleaned-up GDT code with a per-process gdt segment on x86 for
thread-local storage. And the serial and parallel port drivers seems to
work again on SMP after the big irq lock upheaval.

Linus

----

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

<ad...@skullslayer.rod.org>:
o LSM to designated initializers

Andy Grover <agr...@groveronline.com>:
o ACPI compile fix
o Interpreter update
o Use C99 initializers (Rusty Russell)
o Last little bit of C99 init fixes Fix panic in EC driver (Dom B)
Add a some more sanity checking (Richard Schaal)

<ah...@neosoft.com>:
o designated initializer patch for USB

Alan Cox <al...@irongate.swansea.linux.org.uk>:
o I2O does not need init in genhd now
o backpack driver only needs module license in one file
o fix umem compile
o epca and specialix warning fixes
o Q40 keyboard
o miropcm20 fails to build
o Update i2o core functionality to 2.5
o ad1848_lib does not build
o CS4281 is missing in sound/pci/Config.in
o fix ALSA PCI compile problems
o Fix other peoples ALSA PCI fixe
o Fix multiple driver build failures due to missing include
o Update tlan driver to new pci api
o Make the tulip compile again
o Fix cisco aironet tristate check
o atp870u scsi update
o SuS/LSB compliance in readv/writev from 2.4
o Handle dunord pci decode problem
o Remove dead i2c bits from media/video

<apolk...@directvinternet.com>:
o new USB scanner IDs

<cku...@as.arizona.edu>:
o fix unresolved syms for serial drivers

<da...@gmx.net>:
o i385 mm cleanup

Martin Dalecki <dal...@evision.ag>:
o 2.5.28 small REQ_SPECIAL abstraction
o 2.5.28 IDE 102-107

<de...@brodo.de>:
o resolve ACPI lockup

<feli...@terra.com.br>:
o WoL support to the 8139cp ethernet driver

<g...@alphalink.com.au>:
o 2.5: kconfig missing EXPERIMENTAL 3 (10_13)

<johann...@it.uu.se>:
o Merged hid-lgff.c and hid-lg3d.c

<ki...@in.ibm.com>:
o Ensure xtime_lock and timerlist_lock are on difft cachelines

<lawr...@the-penguin.otak.com>:
o CMIPCI compile fix

<l...@flatcap.org>:
o New LDM Driver (Windows Dynamic Disks)

Ingo Molnar <mi...@elte.hu>:
o Thread-Local Storage (TLS) support
o f00f workaround update, TLS, 2.5.28
o comment fix, 2.5.28

<ol...@tv-sign.ru>:
o irqlock fixes

<s...@ravnborg.org>:
o Made 'make sgmldocs' work again after serial merge [1/9]
o kernel-doc: Improved support for man-page generation [2/9]
o kernel-doc: Generate valid DocBook syntax [3/9]
o kernel-doc: Fix warnings [4/9]
o docbook: scripts/docproc improved [5/9]
o docbook: Makefile cleanup [6/9]
o docbook: Update documentation to reflect new docproc [7/9]
o docbook: Move script target in top-level file [8/9]
o docbook: Call docbook makefile with -f [9/9]
o Remove docgen + gen-all-syms targets

<s...@tislabs.com>:
o LSM: CREDITS entries
o LSM: file related LSM hooks

<thu...@ngforever.de>:
o cli-sti-removal.txt fixup

Anton Blanchard <an...@samba.org>:
o Missing memory barrier in pte_chain_unlock

Brad Hards <bha...@bigpond.net.au>:
o trivial USB Config.help cleanups

Chris Wright <ch...@wirex.com>:
o LSM: CREDITS entry

David Brownell <dav...@pacbell.net>:
o ehci-hcd more polite on cardbus
o ohci unlink cleanups
o ohci-hcd cardbus unplug, remove interrupt length limit,

David Howells <dhow...@redhat.com>:
o read-write semaphore downgrade and trylock

Doug Ledford <dled...@redhat.com>:
o Fix the BusLogic driver in 2.5.x
o Fix cpqfcTS driver in 2.5.x

Greg Kroah-Hartman <gr...@kroah.com>:
o LSM: fixed up all of the other archs (non i386) to include the
security config menu
o updated my CREDITS entry
o added ptrace hook for ia64
o LSM: convert initializers to C99 style
o LSM: fixed typo that happened in merge
o i810_audio.c cli/sti fix
o USB: fixed the interface names to have the proper bus id
o USB: fix compiler warning in drivers/usb/serial/digi_acceleport.c
o USB: deleted hid-lg3dff.c as it's no longer needed
o USB: usb-serial.c update the version number, and document the
previous changes
o USB: added driver to support the I/O Networks TI based usb-serial
devices

James Morris <jmo...@intercode.com.au>:
o credits update

Linus Torvalds <torv...@home.transmeta.com>:
o cmd640 IDE driver internal spinlocks for config etc accesses
o Remove unnecessary (and now nonworking) "sti()" in parport
interrupt probing
o Remove (broken) parport locking, add comment on fixing it
o Make smp_init() happen before initializing drivers
o Don't compile with "-g" by default, that was a left-over from the
global irq-lock debugging
o Clean up more x86 MM init details after splitup

Mikael Pettersson <mi...@csd.uu.se>:
o shrink check_nmi_watchdog stack frame
o fix two unwrapped uses of thread_info->cpu

Neil Brown <ne...@cse.unsw.edu.au>:
o remove sti() from calibrate_xor_block()

Patrick Mochel <moc...@osdl.org>:
o Remove BKL from driverfs
o Use C99 initializers in driverfs
o driverfs: stop using vfs layer for file creation This is the first
of a series of patches to driverfs to _not_ use the vfs layer for
file creation and deletion.
o driverfs: don't use VFS for directory creation Call driverfs_mkdir
directly, instead of going through vfs.
o driverfs: don't use vfs for creating symlinks Add check for
existence of dentry in driverfs_symlink and driverfs_mknod (which
the other creation functions use).
o driverfs: Don't use VFS for file or directory deletion These are
tied together a bit, so they're included in the same patch
o fix memory leak when driverfs symlink fails

Petr Vandrovec <vand...@vc.cvut.cz>:
o Do not call ncp_lookup_validate on mountpoint
o Remove unneeded server_file_handle and open_create_action property
from ncpfs info structures
o Return total/free space on ncpfs mounted volume
o Allow access to all 256 volumes from Netware server
o Use search for fileset instead of search for one item in ncpfs. It
is much faster as you usually read whole directory in one request
when using TCP transport, instead
o Check for s_maxbytes and generate SIGXFSZ correctly in ncpfs's read
and write. Only page cache generic_file_read/generic_file_write
check for these conditions, and because of ncpfs does not use page
cache, it must do that itself.
o Update and fix inode attributes handling in ncpfs
o Utilize NFS extended attributes for storing file mode and rdev.
Make sure that you use nodev,nosuid together with nfsextras if you
do not trust server...
o Decide whether to build fs/ncpfs/symlinks.c or not in Makefile and
not through ifdefing whole file out. It should make Al happier.
o ipx use of cli/sti

Russell King <r...@flint.arm.linux.org.uk>:
o [SERIAL] Remove drivers/char/serial_{21285,amba}.c These drivers
are now part of drivers/serial
o [SERIAL] Fix documentation bug for expected stop_tx interrupt state
o [SERIAL] Fix buglet causing (eg) ttyS-14 Allocate positive instead
of negative line numbers when 8250.c registers a new port with the
core. This bug could cause registrations to erroneously fail, or
oopsen when the pcmcia serial device is ejected.
o [SERIAL] Stop open() looping while opening a non-present port
Trying to open a non-present port (for configuration) causes us to
to endlessly loop (by returning -ERESTARTSYS). We should be
returning success. This cset fixes this.
o [SERIAL] Turn on 8250 framing/parity error reporting on INPCK not
IGNPAR
o designated initalizers for serial/
o [SERIAL] Fix initialiser warnings for HUB6 ports We were missing an
element in the old_serial_port structure.

Rusty Russell <ru...@rustcorp.com.au>:
o cpu_online() has odd semantics
o Hot-plug CPU Boot Changes
o Hot-plug CPU Boot Rewrite for i386
o Hot-plug CPU Boot Rewrite for PPC

Trond Myklebust <trond.m...@fys.uio.no>:
o clean up RPC write_space() code
o increase socket buffer for RPC over UDP
o Reduce the number of getattr/lookup calls in
nfs_lookup_revalidate()
o add proper NFSv3 permissions checking

Vojtech Pavlik <voj...@suse.cz>:
o Fixes needed to get Logitech WingMan 3D running
o Kernel command line [__setup()] parsing fixes in all the input
drivers that use it, except i8042.
o Update of the X-Box USB pad driver and documentation to version
0.0.5
o This patch by Brad Hards replaces the four id* fields of the input
struct by a single struct to simplify passing it around and to
userspace.
o Add an i8042_restore_ctr command line option. This allows not
restoring the CTR value after an AUX write by default, which breaks
Transmeta Crusoe i8042 chip emulation. The option might be needed
on some ancient hardware, though.
o Fox a typo in input documentation. Patch by Pavel Machek
o Remove duplicately defined keys in input.h that got there as a part
o Osamu Tomita <tom...@cinet.co.jp>
o Fix the PS/2 mouse wheel in Explorer PS/2 mode
o Enable the Q40 keyboard only on the Q40 platform
o After some grepping and talking to maintainers, I did the appended
cleanup patch. This should be it from me until char/keyboard.c
becomes a real input layer client, but this final patch will be
_very_ small now :-)).
o The following fixes compilation errors in the Acorn related input
drivers.
o The following patch adds the "resend" capability to the keyboard
driver; when the host driver detects a parity or framing error, we
can ask the keyboard to resend the data, instead of treating random
garbage as valid data.
o This patch adds two new serio input drivers. Both are "UART" type
drivers for PS/2 ports on both StrongARM and ARM Integrator
hardware.
o Apply Rusty's C99 initializer patch to input drivers
o Add a GrIP MultiPort gamepad hub by Brian Bonnlander and Bill
Soudan
o By popular request, and explicit method of telling which events
from a device belong together was implemented - input_sync() and
EV_SYN. Touches every input driver. The first to make use of it is
mousedev.c to properly merge events into PS/2 packets.
o Small cleanup in evdev.c, which copies the data directly from input
struct to userspace.
o Add support for AT keyboards connected over a PS/2 to Serial
converter to atkbd.c - trivial. Remove ps2serkbd, because it's not
needed anymore.
o Because the Linux Input core follows the USB HID standard where it
comes to directions of movement and rotation, a mouse wheel should
be positive where it "rotates forward, away from the user". We had
the opposite in psmouse.c. Fixed this.
o Add EVIOCSABS() ioctl to change the abs* informative values on
input devices. This is something the X peoople really wanted.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Linus Torvalds

unread,
Jul 26, 2002, 11:30:09 PM7/26/02
to

I forgot to mention.. You have all been busy little critters, and I
probably missed a number of merges. Give me a day to catch my breath (and
take the kids to the aquarium), and if you think I overlooked or forgot
your patch, you should probably re-send.

Linus

Rusty Russell

unread,
Jul 27, 2002, 2:30:09 AM7/27/02
to
On Fri, 26 Jul 2002 20:12:00 -0700 (PDT)
Linus Torvalds <torv...@transmeta.com> wrote:

>
> Hmm.. All over the map. IDE patches as usual, USB updates, tons of C99
> named initializers work, ACPI update, fixes from Alan, driverfs race fixes
> and cleanups, SCSI driver fixes from Doug and tons of input layer updates.
>
> Oh, and a new LDM driver, Rusty's CPU hotplug infrastructure

Badly broken on SMP by Linus.

You'll only get one migration thread, and one ksoftirqd.

Issue is that some initcalls (softirq.c and sched.c) are way easier before
other CPUs are brought up, but doing it the other way broke AGP and Linus
decided to call all the initcalls after CPUs are brought up in case someone
else needed it (I still strongly disagree).

This hack fixes it: real fix is the explicit initcall ordering patch,
which Linus hasn't commented on 8(

Name: Hot-plug CPU Boot ksoftirqd and migration fix
Author: Rusty Russell
Status: Tested on 2.5.29, x86 SMP

D: This patch fixes the calls to initialize ksoftirqd and the
D: migration threads. This really should be done by the initcall
D: depends patch.

diff -urNp -I \$.*\$ --exclude TAGS -X /home/rusty/current-dontdiff --minimal linux-2.5.29/init/main.c working-2.5.29/init/main.c
--- linux-2.5.29/init/main.c Sat Jul 27 15:24:39 2002
+++ working-2.5.29/init/main.c Sat Jul 27 16:09:42 2002
@@ -524,6 +524,15 @@ static void __init do_basic_setup(void)
do_initcalls();
}

+static void do_pre_smp_initcalls(void)
+{
+ extern int migration_init(void);
+ extern int spawn_ksoftirqd(void);
+
+ migration_init();
+ spawn_ksoftirqd();
+}
+
extern void prepare_namespace(void);

static int init(void * unused)
@@ -533,6 +542,9 @@ static int init(void * unused)
lock_kernel();
/* Sets up cpus_possible() */
smp_prepare_cpus(max_cpus);
+
+ do_pre_smp_initcalls();
+
smp_init();
do_basic_setup();

diff -urNp -I \$.*\$ --exclude TAGS -X /home/rusty/current-dontdiff --minimal linux-2.5.29/kernel/sched.c working-2.5.29/kernel/sched.c
--- linux-2.5.29/kernel/sched.c Sat Jul 27 15:24:39 2002
+++ working-2.5.29/kernel/sched.c Sat Jul 27 16:21:58 2002
@@ -1894,6 +1894,8 @@ static int migration_call(struct notifie
(long)hcpu);
kernel_thread(migration_thread, hcpu,
CLONE_FS | CLONE_FILES | CLONE_SIGNAL);
+ while (!cpu_rq((long)hcpu)->migration_thread)
+ yield();
break;
}
return NOTIFY_OK;
@@ -1901,7 +1903,7 @@ static int migration_call(struct notifie

static struct notifier_block migration_notifier = { &migration_call, NULL, 0 };

-int __init migration_init(void)
+__init int migration_init(void)
{
/* Start one for boot CPU. */
migration_call(&migration_notifier, CPU_ONLINE,
@@ -1910,7 +1912,6 @@ int __init migration_init(void)
return 0;
}

-__initcall(migration_init);
#endif

extern void init_timervecs(void);
diff -urNp -I \$.*\$ --exclude TAGS -X /home/rusty/current-dontdiff --minimal linux-2.5.29/kernel/softirq.c working-2.5.29/kernel/softirq.c
--- linux-2.5.29/kernel/softirq.c Sat Jul 27 15:24:39 2002
+++ working-2.5.29/kernel/softirq.c Sat Jul 27 16:07:53 2002
@@ -410,11 +410,9 @@ static int __devinit cpu_callback(struct

static struct notifier_block cpu_nfb = { &cpu_callback, NULL, 0 };

-static __init int spawn_ksoftirqd(void)
+__init int spawn_ksoftirqd(void)
{
cpu_callback(&cpu_nfb, CPU_ONLINE, (void *)smp_processor_id());
register_cpu_notifier(&cpu_nfb);
return 0;
}
-
-__initcall(spawn_ksoftirqd);


--
there are those who do and those who hang on and you don't see too
many doers quoting their contemporaries. -- Larry McVoy

Rusty Russell

unread,
Jul 27, 2002, 4:00:10 AM7/27/02
to
In message <3D42433C...@zip.com.au> you write:
> While you're there, this register_cpu_notifier() call
> generates a compile warning on UP:
>
> softirq.c: In function `spawn_ksoftirqd':
> softirq.c:416: warning: statement with no effect

Thanks Andrew...

Name: Hot-plug CPU notifier warning fix
Author: Rusty Russell
Status: Trivial

D: As pointed out by Andrew Morton, this fixes:
D: softirq.c: In function `spawn_ksoftirqd':
D: softirq.c:416: warning: statement with no effect

This patch alters the boot sequence to "plug in" each CPU, one at a

diff -urpN -I \$.*\$ --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal linux-2.5.29/include/linux/smp.h working-2.5.29-register-cpu-fix/include/linux/smp.h
--- linux-2.5.29/include/linux/smp.h Sat Jul 27 15:24:39 2002
+++ working-2.5.29-register-cpu-fix/include/linux/smp.h Sat Jul 27 17:10:04 2002
@@ -101,9 +101,13 @@ static inline void smp_send_reschedule_a
#define this_cpu(var) var

/* Need to know about CPUs going up/down? */
-#define register_cpu_notifier(nb) 0
-#define unregister_cpu_notifier(nb) do { } while(0)
-
+static inline int register_cpu_notifier(struct notifier_block *nb)
+{
+ return 0;
+}
+static inline void unregister_cpu_notifier(struct notifier_block *nb)
+{
+}
#endif /* !SMP */

#define get_cpu() ({ preempt_disable(); smp_processor_id(); })
--
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.

Ville Herva

unread,
Jul 27, 2002, 5:10:09 AM7/27/02
to
2.5.27 and 2.5.28 wouldn't boot at all (they hung at ide probe). 2.5.29
boots, but oopses after freeing unused memory.

Again, root = hdc = cdrom with ext2 fs on it.

HW is vmware, which may be the cause of the problem (but frankly I don't
dare to run 2.5 on real hw at this point :).


<...>
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 4096 bind 8192)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
ds: no socket drivers loaded!
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 216k freed
Unable to handle kernel paging request at virtual address 645f00ad
c013f646
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<c013f646>] Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00000246
eax: 00000000 ebx: c109d138 ecx: c109d138 edx: c109d138
esi: 00000000 edi: 645f0065 ebp: c10cda68 esp: c10cda0c
ds: 0018 es: 0018 ss: 0018
Stack: 00000002 00000060 fffffff5 00000000 c3ee1090 000224b3 00000000 00000000
000001d0 c10cda50 00112538 645f0065 c11e2620 0000000c c10cda54 c01a68ce
0000000c 00000000 c10cda68 c015923c c109d138 00000000 0000000c c10cdaf8
Call Trace: [<c01a68ce>] [<c015923c>] [<c0159512>] [<c0168c10>] [<c017a136>]
[<c017a16f>] [<c012a457>] [<c0159675>] [<c0168c10>] [<c0168e57>] [<c0168c10>]
[<c0138d26>] [<c0138e06>] [<c0138ecc>] [<c012ab54>] [<c012adb0>] [<c012afa8>]
[<c012adb0>] [<c0144db1>] [<c0144e36>] [<c015bda7>] [<c0107afb>] [<c0138ecc>]
[<c012ac98>] [<c0131ba1>] [<c015b1c0>] [<c0145624>] [<c01459ae>] [<c0107c1d>]
[<c01094df>] [<c0105147>] [<c0105000>] [<c01076be>] [<c0105060>]
Code: 8b 5f 48 c7 45 c4 01 00 00 00 8b 7d 08 88 d9 d3 65 c4 8b 47

>>EIP; c013f646 <block_read_full_page+36/2b0> <=====
Trace; c01a68ce <submit_bio+3e/80>
Trace; c015923c <mpage_bio_submit+3c/50>
Trace; c0159512 <do_mpage_readpage+222/2c0>
Trace; c0168c10 <ext2_get_block+0/1e0>
Trace; c017a136 <radix_tree_reserve+e6/100>
Trace; c017a16f <radix_tree_insert+1f/40>
Trace; c012a457 <add_to_page_cache+c7/f0>
Trace; c0159675 <mpage_readpages+c5/d0>
Trace; c0168c10 <ext2_get_block+0/1e0>
Trace; c0168e57 <ext2_readpages+27/30>
Trace; c0168c10 <ext2_get_block+0/1e0>
Trace; c0138d26 <read_pages+96/a0>
Trace; c0138e06 <do_page_cache_readahead+d6/130>
Trace; c0138ecc <page_cache_readahead+6c/180>
Trace; c012ab54 <do_generic_file_read+84/2e0>
Trace; c012adb0 <file_read_actor+0/a0>
Trace; c012afa8 <generic_file_read+158/180>
Trace; c012adb0 <file_read_actor+0/a0>
Trace; c0144db1 <open_exec+c1/e0>
Trace; c0144e36 <kernel_read+66/70>
Trace; c015bda7 <load_elf_binary+be7/c50>
Trace; c0107afb <__switch_to+10b/110>
Trace; c0138ecc <page_cache_readahead+6c/180>
Trace; c012ac98 <do_generic_file_read+1c8/2e0>
Trace; c0131ba1 <rmqueue+2b1/2f0>
Trace; c015b1c0 <load_elf_binary+0/c50>
Trace; c0145624 <search_binary_handler+94/210>
Trace; c01459ae <do_execve+20e/230>
Trace; c0107c1d <sys_execve+4d/80>
Trace; c01094df <syscall_call+7/b>
Trace; c0105147 <init+e7/1a0>
Trace; c0105000 <_stext+0/0>
Trace; c01076be <kernel_thread+2e/40>
Trace; c0105060 <init+0/1a0>
Code; c013f646 <block_read_full_page+36/2b0>
00000000 <_EIP>:
Code; c013f646 <block_read_full_page+36/2b0> <=====
0: 8b 5f 48 mov 0x48(%edi),%ebx <=====
Code; c013f649 <block_read_full_page+39/2b0>
3: c7 45 c4 01 00 00 00 movl $0x1,0xffffffc4(%ebp)
Code; c013f650 <block_read_full_page+40/2b0>
a: 8b 7d 08 mov 0x8(%ebp),%edi
Code; c013f653 <block_read_full_page+43/2b0>
d: 88 d9 mov %bl,%cl
Code; c013f655 <block_read_full_page+45/2b0>
f: d3 65 c4 shll %cl,0xffffffc4(%ebp)
Code; c013f658 <block_read_full_page+48/2b0>
12: 8b 47 00 mov 0x0(%edi),%eax

<0>Kernel panic: Attempted to kill init!

-- v --

v...@iki.fi

Ville Herva

unread,
Jul 27, 2002, 5:40:06 AM7/27/02
to
On Sat, Jul 27, 2002 at 12:06:26PM +0300, you [Ville Herva] wrote:
> 2.5.27 and 2.5.28 wouldn't boot at all (they hung at ide probe). 2.5.29
> boots, but oopses after freeing unused memory.
>
> Again, root = hdc = cdrom with ext2 fs on it.
>
> HW is vmware, which may be the cause of the problem (but frankly I don't
> dare to run 2.5 on real hw at this point :).
>
>
> <...>
> NET4: Linux TCP/IP 1.0 for NET4.0
> IP Protocols: ICMP, UDP, TCP, IGMP
> IP: routing cache hash table of 512 buckets, 4Kbytes
> TCP: Hash tables configured (established 4096 bind 8192)
> NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
> ds: no socket drivers loaded!
> VFS: Mounted root (ext2 filesystem) readonly.
> Freeing unused kernel memory: 216k freed
> Unable to handle kernel paging request at virtual address 645f00ad
> c013f646
> *pde = 00000000

That was with gcc (GCC) 3.1 20020620. With 2.96.110, I get this:

<...>

>>EIP; c013f646 <real_lookup+56/d0> <=====
Trace; c01a68ce <ray_interrupt+de/280>
Trace; c015923c <msdos_partition+1dc/320>
Trace; c0159512 <driverfs_get_inode+72/f0>
Trace; c0168c10 <shm_close+60/e0>
Trace; c017a136 <uart_line_info+6/340>
Trace; c017a16f <uart_line_info+3f/340>
Trace; c012a457 <__kmem_cache_shrink+27/b0>
Trace; c0159675 <driverfs_symlink+15/b0>
Trace; c0168c10 <shm_close+60/e0>
Trace; c0168e57 <newseg+117/170>
Trace; c0168c10 <shm_close+60/e0>
Trace; c0138d26 <__block_commit_write+66/b0>
Trace; c0138e06 <block_read_full_page+96/270>
Trace; c0138ecc <block_read_full_page+15c/270>
Trace; c012ab54 <kfree+44/c0>
Trace; c012adb0 <kmem_cache_reap+1a0/230>
Trace; c012afa8 <s_show+a8/1e0>
Trace; c012adb0 <kmem_cache_reap+1a0/230>
Trace; c0144db1 <fifo_open+1d1/2bd>
Trace; c0144e36 <fifo_open+256/2bd>
Trace; c015bda7 <ext2_set_link+57/e0>
Trace; c0107afb <__down_trylock+3b/50>
Trace; c0138ecc <block_read_full_page+15c/270>
Trace; c012ac98 <kmem_cache_reap+88/230>
Trace; c0131ba1 <bounce_end_io_write+61/90>
Trace; c015b1c0 <ext2_new_block+4f0/740>
Trace; c0145624 <locks_delete_lock+94/d0>
Trace; c01459ae <locks_mandatory_locked+1e/80>
Trace; c0107c1d <sys_sigsuspend+dd/e0>
Trace; c01094df <do_device_not_available+f/80>
Trace; c0105147 <init+f7/190>
Trace; c0105000 <_stext+0/0>
Trace; c01076be <get_wchan+1e/70>
Trace; c0105060 <init+10/190>
Code; c013f646 <real_lookup+56/d0>
00000000 <_EIP>:
Code; c013f646 <real_lookup+56/d0> <=====


0: 8b 5f 48 mov 0x48(%edi),%ebx <=====

Code; c013f649 <real_lookup+59/d0>


3: c7 45 c4 01 00 00 00 movl $0x1,0xffffffc4(%ebp)

Code; c013f650 <real_lookup+60/d0>


a: 8b 7d 08 mov 0x8(%ebp),%edi

Code; c013f653 <real_lookup+63/d0>


d: 88 d9 mov %bl,%cl

Code; c013f655 <real_lookup+65/d0>


f: d3 65 c4 shll %cl,0xffffffc4(%ebp)

Code; c013f658 <real_lookup+68/d0>

Peter Osterlund

unread,
Jul 27, 2002, 7:50:07 AM7/27/02
to
Linus Torvalds <torv...@transmeta.com> writes:

> <l...@flatcap.org>:
> o New LDM Driver (Windows Dynamic Disks)

Breaks "make xconfig". Here is a patch to fix it:

--- linux/fs/partitions/Config.in.orig Sat Jul 27 13:31:54 2002
+++ linux/fs/partitions/Config.in Sat Jul 27 13:16:15 2002
@@ -25,7 +25,7 @@
bool ' Solaris (x86) partition table support' CONFIG_SOLARIS_X86_PARTITION
bool ' Unixware slices support' CONFIG_UNIXWARE_DISKLABEL
fi
- dep_bool ' Windows Logical Disk Manager (Dynamic Disk) support' CONFIG_LDM_PARTITION
+ bool ' Windows Logical Disk Manager (Dynamic Disk) support' CONFIG_LDM_PARTITION
if [ "$CONFIG_LDM_PARTITION" = "y" ]; then
bool ' Windows LDM extra logging' CONFIG_LDM_DEBUG
fi

--
Peter Osterlund - pet...@telia.com
http://w1.894.telia.com/~u89404340

Marcin Dalecki

unread,
Jul 30, 2002, 5:30:07 AM7/30/02
to
- Include first cut by Adam J. Richter on proper lock protection for
tuning functions.

- Rename ide_register_subdriver() to ata_register_device() and
ide_unregister_subdriver() accordingly to ata_unregister_device(),
since this is reflecting better what those functions are about.

- Remove tons of "curicum vite" style useless documentation here and
there.


ide-109.diff

Marcin Dalecki

unread,
Jul 30, 2002, 5:30:11 AM7/30/02
to
- typedef unsigned char byte; is finally gone. Everything using it should
be just ported to u8 if I missed some place where it still gets used.

- Next round of parameter parsing cleanups by Gerald Champagne.
Adjusted a bit to harmonize with hd.c.

- Move IDE register bitfields declarations over from hdparm.h to
ide.h.

- Fixup cmd640 fix by LT.

- Don't manipulate REQ_QUEUED in blk_insert_special() as discussed on
lkml. The single only affected file is ll_rw_blk.c of course.

- Declare constants needed by hd.c directly there. Those are standard
values not subject to change and we prefer a bit of code duplication
in favour of making the two drivers independant from each other.

- Move everything not ioctl related away from hdreg.h to ide.h.
This header is in effect not private to the ATA code and should
therefore not contain stuff only usefull there.

ide-108.diff

Alan Cox

unread,
Jul 30, 2002, 5:50:08 AM7/30/02
to
Martin. The CS5530 one seems unneeded looking at the databook. Try the
patch below instead, which removes the irq lock and uses the proper
kernel functions to enable MWI and master.

I'm not sure I like the fact you've deleted the ide-tape documentation.
IDE tape is a pretty tricky thing, especially all the command handling
weirdnesses. How about moving it into Changelog.idetape if you dont want
it in the code itself ?

diff -u --exclude-from /usr/src/exclude --new-file --recursive linux-2.5.29/drivers/ide/cs5530.c linux-2.5.29-ac1/drivers/ide/cs5530.c
--- linux-2.5.29/drivers/ide/cs5530.c 2002-07-27 15:33:52.000000000 +0100
+++ linux-2.5.29-ac1/drivers/ide/cs5530.c 2002-07-28 00:41:53.000000000 +0100
@@ -218,6 +218,7 @@
}
}
}
+
if (!master_0) {
printk("%s: unable to locate PCI MASTER function\n", dev->name);
return 0;
@@ -227,15 +228,13 @@
return 0;
}

- save_flags(flags);
- cli(); /* all CPUs (there should only be one CPU with this chipset) */
-
/*
* Enable BusMaster and MemoryWriteAndInvalidate for the cs5530:
* --> OR 0x14 into 16-bit PCI COMMAND reg of function 0 of the cs5530
*/
- pci_read_config_word (cs5530_0, PCI_COMMAND, &pcicmd);
- pci_write_config_word(cs5530_0, PCI_COMMAND, pcicmd | PCI_COMMAND_MASTER | PCI_COMMAND_INVALIDATE);
+
+ pci_set_master(cs5530_0);
+ pci_set_mwi(cs5530_0);

/*
* Set PCI CacheLineSize to 16-bytes:
@@ -274,8 +273,6 @@
pci_write_config_byte(master_0, 0x42, 0x00);
pci_write_config_byte(master_0, 0x43, 0xc1);

- restore_flags(flags);
-
return 0;

Alan Cox

unread,
Jul 30, 2002, 5:50:09 AM7/30/02
to
On Mon, 2002-07-29 at 20:27, Marcin Dalecki wrote:
> - Fixup cmd640 fix by LT.

The CMD640 fix is wrong. You must take pci_lock to protected the cmd640
pci access functions. You also need to check if conf1/conf2 is available
otherwise you will crash some systems when the driver init runs (found
by Justin Gibbs at Adaptec). I sent Linus the proper patch for this a
few days ago and cc'd the list.

Basically conf1/conf2 is protected elsewhere in the kernel via arch
specific locks and via a higher level config lock. Since the non x86
folks use CMD640 we have to take the higher level lock.

Alan

Marcin Dalecki

unread,
Jul 30, 2002, 6:00:12 AM7/30/02
to
Alan Cox wrote:
> On Mon, 2002-07-29 at 20:27, Marcin Dalecki wrote:
>
>>- Fixup cmd640 fix by LT.
>
>
> The CMD640 fix is wrong. You must take pci_lock to protected the cmd640
> pci access functions. You also need to check if conf1/conf2 is available
> otherwise you will crash some systems when the driver init runs (found
> by Justin Gibbs at Adaptec). I sent Linus the proper patch for this a
> few days ago and cc'd the list.
>
> Basically conf1/conf2 is protected elsewhere in the kernel via arch
> specific locks and via a higher level config lock. Since the non x86
> folks use CMD640 we have to take the higher level lock.

Yes I know. However I see the bk-tree drifting and therefore I have
postponed the integration of your patch a bit. The chunk above I did
immediately after 2.5.29 release. Hope this explains. OK?

Marcin Dalecki

unread,
Jul 30, 2002, 6:00:15 AM7/30/02
to
Alan Cox wrote:
> Martin. The CS5530 one seems unneeded looking at the databook. Try the
> patch below instead, which removes the irq lock and uses the proper
> kernel functions to enable MWI and master.

Thanks for reaffirmation. This will be already in the upcomming 110.

> I'm not sure I like the fact you've deleted the ide-tape documentation.
> IDE tape is a pretty tricky thing, especially all the command handling
> weirdnesses. How about moving it into Changelog.idetape if you dont want
> it in the code itself ?

The interresting parts I have moved over to ide.txt in Documentation.
The "inner workings" part was:

a) ehm, very very terse in style.

b) not quite revealing the reality.

I decided that it would be better to have no docu then misguiding docu.
In esp. the description of DSC handling was not adequate.

The "history of the human race" kind of documentation was certainly
not worth it, becouse: kernel release -> bandwidth consumption ->
energy production -> environmental pollution -> not good for this
planet and not of much value for the developer reading it. I checked the
contents in first place ;-). I tried to preserve credentials of course.

0 new messages