Patrick Mochel [Fri, 18 Oct 2002 13:53:10 +0000 (06:53 -0700)]
[PATCH] device removal
The problem was that when the refcount hit 0, it was unconditionally
assuming that it had been added, which is wrong. The patch below
corrects that, and fixes the Oops when loading the floppy driver.
Andi Kleen [Fri, 18 Oct 2002 13:19:22 +0000 (06:19 -0700)]
[PATCH] add linux/ioctl32.h header for 2.5.43
Several ports (x86-64,ppc64,sparc64) which do 32bit ioctl emulation
have functions for drivers to let them define their own translation
handlers. So far it was a bit complicated to use because there
was no standard include file that declares the prototypes for this
stuff. Then drivers and other subsystems can start to declare their own
ioctl translation handlers.
This patch add include/linux/ioctl32.h to fix this.
The actual implementation is in arch specific code. It has been coordinated
with DaveM and Anton.
This patch is needed for the x86-64 merge I sent in separate mail.
There is currently no preprocessor symbol that the drivers can test
to see if they should use this. So far they have to check arch symbols.
This will be fixed later when all 64bit ports that need it add the dynamic
ioctl registration API too (that's ia64,s390x,mips64)
Andi Kleen [Fri, 18 Oct 2002 13:18:11 +0000 (06:18 -0700)]
[PATCH] x86-64 updates for 2.5.43
This fixes a few files that got lost with the last merge and merges
with 2.5.43/i386. Only changes architecture specific files.
It depends on one other patch (for linux/ioctl32.h) which I'm sending
separately.
Changes:
- Include missing files (pageattr.c) and Makefile changes
- Update IA32 subsystem. Various small fixes and a big merge
with sparc64.
- Change HZ to 1000
- Merge some of the 2.5.43/i386 profiling changes. No full oprofile yet.
- Fix many warnings
- Update defconfig
- Various other smaller cleanups and bugfixes.
Alexander Viro [Fri, 18 Oct 2002 12:25:04 +0000 (05:25 -0700)]
[PATCH] nbd converted to private queue
* switched to private queues
* set ->queue and ->private_data
* switched to use of ->bd_disk/->rq_disk
* merged private blocksize, etc. arrays into nbd_dev[]
* cleaned up
Alexander Viro [Fri, 18 Oct 2002 12:24:55 +0000 (05:24 -0700)]
[PATCH] compile fixes
sbpcd.c: removes bogus duplicate definition of sbpcd_lock, use of
CURRENT (we are using private queue) and call of invalidate_buffers() in
->media_changed() (caller does it itself). That went in a changeset from
davej - looks like a merge problem...
sr.c: braino in ifdefed printk - s/disk/cd->disk/. Thanks to jejb
for spotting that one...
Dipankar Sarma [Fri, 18 Oct 2002 12:01:21 +0000 (05:01 -0700)]
[PATCH] RCU helper patchset 1/2
This first RCU helper patch adds a read_barrier_depends() primitive
to all archs which is NOP for archs that doesn't require an rmb()
for data dependent reads when writes are ordered using a wmb().
In reality, only alpha requires an rmb(), the rest are NOPs.
It is likely to be necessary in most situations that would use RCU.
Please apply.
Description :
Sometime ago, during a discussion on lock-free lookups, it was
agreed that an additional memory barrier interface,
read_barrier_depends() that is lighter than an rmb(),
is necessary to make sure that data-dependent reads are not
re-ordered over this barrier. For many processors, data-dependency
enforces order, so this interface is a NOP, but for those that don't
(like alpha), it can be a rmb().
For example, the following code would force ordering (the initial
value of "a" is zero, "b" is one, and "p" is "&a"):
CPU 0 CPU 1
b = 2;
memory_barrier();
p = &b; q = p;
read_barrier_depends();
d = *q;
because the read of "*q" depends on the read of "p" and these
two reads should be separated by a read_barrier_depends(). However,
the following code, with the same initial values for "a" and "b":
CPU 0 CPU 1
a = 2;
memory_barrier();
b = 3; y = b;
read_barrier_depends();
x = a;
does not enforce ordering, since there is no data dependency between
the read of "a" and the read of "b". Therefore, on some CPUs, such
as Alpha, "y" could be set to 3 and "x" to 0. rmb()
needs to be used here, not read_barrier_depends().
The original discussion can be found at -
http://marc.theaimsgroup.com/?t=100259422200002&r=1&w=2
Explanation of the need for read_barrier_depends()
can be found at http://lse.sf.net/locking/wmbdd.html
Alexey Kuznetsov [Fri, 18 Oct 2002 10:41:17 +0000 (03:41 -0700)]
[IPv4]: More output path work.
- Change {udp,raw}_sendmsg to ip_append_data, work done
by Maxim Giryaev <gem@asplinux.ru>
- Get rid of ip_build_xmit() and helper functions.
Nobody uses it anymore.
Adam Belay [Fri, 18 Oct 2002 09:51:11 +0000 (02:51 -0700)]
[PATCH] PnP Rewrite V0.9 - 2.5.43
The included patch is essentially a Linux Plug and Play Support rewrite. It
contains many significant improvements, including the following:
1.) A Global Plug and Play Layer
- Now drivers do not have to worry about which plug and play
protocol they are using. Calls are made directly to the Linux
Plug and Play Layer and then forwarded to the appropriate
protocol.
- This will make it very easy to integrate ACPI PnP support when
it's ready
2.) A complete Plug and Play BIOS driver
- The Plug and Play BIOS now supports reading and writing of
resource configurations.
- It is now possible to enable disabled PNPBIOS devices. Therefore
the user can safely enable PnP OS support in their BIOS.
3.) Driver Model Integration
- The entire plug and play layer is integrated into the driver model
- The user interface is housed here
- PnP protocols are listed under the bus "pnp"
4.) A powerful global resource configuration interface
- The user can use this to activate PnP devices for legacy and
user-level drivers
- See the documentation for how to configure devices.
5.) Automatic resource allocation for needed devices
6.) A PnP device name database
And many more improvements.
This patch also adds me to the maintainers list, considering the current
PnP maintainer has been inactive for over 2 years now.
Patrick Mochel [Fri, 18 Oct 2002 06:22:18 +0000 (23:22 -0700)]
driver model: fix matching bug.
If a device didn't match a driver, bus_match() returned 0, and device_attach()
would break out of the loop. So, the first driver was the only one being
checked every time.
David S. Miller [Fri, 18 Oct 2002 03:47:41 +0000 (20:47 -0700)]
[PATCH] Fix scsi breakage
A recent change that went into BK-2.5 removed the next member of the
scsi host and replaced it with lists, which is cool, but this broke a
few common drivers.
Jens Axboe [Fri, 18 Oct 2002 03:47:36 +0000 (20:47 -0700)]
[PATCH] sym2 get host
Recent scsi host changes broke sym2, it iterates over the scsi host list
itself. This patch changes sym2 to use scsi_host_hn_get() to find a scsi
host from its hostno.
David Howells [Fri, 18 Oct 2002 03:47:31 +0000 (20:47 -0700)]
[PATCH] missing put in AFS client
This patch fixes a bug in my AFS client in which a put of an outstanding call
was missing in the unmount cleanup code. This occasionally resulted in the AFS
module becoming unremovable.