Andrew Morton [Thu, 2 May 2002 09:04:12 +0000 (02:04 -0700)]
[PATCH] VM dirty page balancing
- The balance_dirty_pages() logic is simply wrong. It goes:
if (value > threshold)
go_and_write(value - threshold);
which is just fine for a single process writing data. But
for many processes, they *all* go and bring things back into
balance, and too much data gets written out.
- The
go_and_write(this much)
logic is inoperative, because I turned off the ->writeback_mapping()
function in ext2. So a call to writeback_unlocked_inodes(this_much)
doesn't actually decrement and test *this_much. It will walk every
inode, all the time. Silly.
So quickly fixing the above things, the amount of dirty+writeback
memory in the machine nicely stabilises at 500 megabytes across
the run.
Simon Evans [Thu, 2 May 2002 08:44:50 +0000 (01:44 -0700)]
[PATCH] 2.5.12 - make usbvideo_register take a usb_device_id table
This patch makes usbvideo_register take a usb_device_id argument which it
can then pass to usb_register via the struct usb_device. Currently it passes
NULL.
Simon Evans [Thu, 2 May 2002 08:44:27 +0000 (01:44 -0700)]
[PATCH] 2.5.12 - make usbvideo.c use USBVIDEO_NUMFRAMES correctly
This patch makes usbvideo.c use the correct value of USBVIDEO_NUMFRAMES.
A few places in the code assumed it was 2. This patch was tested with
USBVIDEO_NUMFRAMES = 2,3,4,8,11,32
Wolfgang Fritz [Thu, 2 May 2002 07:53:02 +0000 (00:53 -0700)]
[PATCH] pl2303.c: do not reset termios settings in each open()
USB pl2303 driver
This is a patch which avoids resetting the termios settings to default
values (9600 Baud etc.) in each call to pl2303_open (). It does this
only on the first call to pl2303_set_termios. After that it sets the
termios to the last stored values.
This way commands like
stty -F /dev/ttyUSB0 115200
work the same way as with other serial ttys.
Oliver Neukum [Thu, 2 May 2002 07:31:51 +0000 (00:31 -0700)]
[PATCH] tiny race with devfs in printer
USB printer bugfix
looking through printer.c in preparation for shifting devfs
support to usbcore I noticed that printer advertises a device
through devfs before it can be opened.
As devfs, or more precisely devfsd can be used to trigger actions
this matters and is wrong.
David S. Miller [Wed, 1 May 2002 14:59:07 +0000 (07:59 -0700)]
fs/exportfs/expfs.c:dprintk
- Fix macro varargs usage, you need to specify a variable name
before the triple dot or else most current compilers complain.
See include/linux/ext2_fs.h:ext2_debug for another example where
it is done correctly.
David S. Miller [Wed, 1 May 2002 14:57:09 +0000 (07:57 -0700)]
fs/autofs/inode.c:parse_options
- Fix bug in strsep/strchr changes, dereference *this_char
not *value at top of while loop. This matches how the same
code in fs/autofs4/inode.c looks right now.
Withtout this autofs loading causes an OOPS as the first
time through the loop *value is dereferencing a NULL pointer.
Alexander Viro [Wed, 1 May 2002 05:26:24 +0000 (22:26 -0700)]
[PATCH] ATTR_MODE breakage
(originally caught by Paul Larson <plars@austin.ibm.com>)
Patch fixes a couple of idiotic bugs in notify_change() (my
fault). Unary operations have higher priority than binary ones, so
if (!valid & ATTR_MODE) doesn't do the right thing. I plead temporary
braindamage...
Andrew Morton [Wed, 1 May 2002 04:43:19 +0000 (21:43 -0700)]
[PATCH] Tweak VM dirty thresholds
The below patch on 2.5.12 takes the 'dbench 32' throughput on a
1024 megabyte machine from 35 megs/sec up to 125 megs/sec.
That's on the second run. The first run is much slower because
the ext2 bitmaps aren't in cache.
Anton Blanchard [Thu, 2 May 2002 03:01:43 +0000 (13:01 +1000)]
ppc64: Only implement thread priority macros on HMT or iSeries kernels
Drop back to eieio in spinlocks for the moment due to performance
issues of sync on power3
Andrew Morton [Wed, 1 May 2002 03:26:08 +0000 (20:26 -0700)]
[PATCH] Unresolved symbol block_flushpage
block_flushpage() used to be a macro which pointed at the
exported discard_bh_page(). I turned block_flushpage() into
a real function but forgot the export.
Douglas Gilbert [Wed, 1 May 2002 03:07:03 +0000 (20:07 -0700)]
[PATCH] scsi disk (sd) driver 2.5.12
This patch has the last bit of Justin Gibb's patch
described in:
http://marc.theaimsgroup.com/?l=linux-scsi&m=101200279101550&w=2
[this bit for the sd driver]
There is also a major code cleanup of the sd driver with
documentation headers added and a few obvious bugs fixed
described in:
http://marc.theaimsgroup.com/?l=linux-scsi&m=101798201714399&w=2
I did this cleanup.
Justin's patch has been in Dave's tree for several months while
my code cleanup patch has been there since 2.5.9-dj1 .
Douglas Gilbert [Wed, 1 May 2002 03:05:08 +0000 (20:05 -0700)]
[PATCH] scsi_error 2.5.12
The attachment is part of a patch from Justin Gibbs
described in:
http://marc.theaimsgroup.com/?l=linux-scsi&m=101200279101550&w=2
The original patch was targeted at lk 2.4 and Dave forwarded
ported it into 2.5. Other bits (e.g. sr) have already found
there way into your tree. One bit in the sd driver will be
included in my following patch.
Alexander Viro [Wed, 1 May 2002 02:58:03 +0000 (19:58 -0700)]
[PATCH] (4/6) blksize_size[] removal
- put block size in bdev->bd_block_size, make do_open() and
check_partition() to set it (see above), switch set_blocksize() and
block_size() to use of ->bd_block_size. Remove manipulations with
blksize_size[] from drivers, remove blksize_size[] itself.
Alexander Viro [Wed, 1 May 2002 02:57:27 +0000 (19:57 -0700)]
[PATCH] (1/6) blksize_size[] removal
- preliminary cleanups: make sure that swapoff restores original block
size, kill set_blocksize() (and use of __bread()) in multipath.c,
reorder opening device and finding its block size in mtdblock.c.
William Stinson [Tue, 30 Apr 2002 22:31:51 +0000 (18:31 -0400)]
request_region janitor updates for ultrastor scsi driver:
1) removes calls to check_region
2) checks the result of request_region calls
3) calls release_region where necessary in case of driver initialisation error
William Stinson [Tue, 30 Apr 2002 22:23:54 +0000 (18:23 -0400)]
baycom_ser_fdx hamradio driver request_region janitor updates:
1) remove call to check_region
2) test result of request_region
3) call release_region in case of driver intialisation error later on
Jean Tourrilhes [Tue, 30 Apr 2002 18:07:52 +0000 (14:07 -0400)]
irda update 6/7:
o [CORRECT] Cancel LSAP watchdog when putting socket back to listen
o [CORRECT] Try to close LAP when closing LSAP still active
<Following patch from Felix Tang>
o [CORRECT] Header fix for compile on Alpha architecture
Jean Tourrilhes [Tue, 30 Apr 2002 18:04:25 +0000 (14:04 -0400)]
irda update 2/7:
o [CORRECT] Fix race condition when starting todo timer
o [CORRECT] Fix race condition when stopping higher layer
Higher layer would think it is stopped and us it is started
o [CORRECT] Give credit even if packets in Tx queue
If Tx queue was stopped, could starve peer and deadlock
o [CORRECT] Protect Rx credit update with spinlock
o [CORRECT] Calculate properly self->avail_credit
Didn't take into account queued Rx fragments
Incremented even if Rx frame not delivered to higher layer
-> would never stop the peer (i.e. not flow control)
-> could become infinite
o [CORRECT] Send credit when higher layer reenable receive
Peer wouldn't restart Tx to us if flow stopped
o [FEATURE] Implement LAP queue not full notification
Lower latency, ...
o [FEATURE] Reduce Tx queue to 8 packets (from 10)
But make sure we can always send a full LAP window (7)
o [FEATURE] Fix and optimise TTP flow control
Make sure peer can always send a full LAP window (7)
Minimise explicit credit updates (give_credit)
o [FEATURE] Remove need for todo timer in Tx/Rx paths
Less potential races, lower latency, lower context switches
Could not use tasklet because broken API, better anyway ;-)
Jean Tourrilhes [Tue, 30 Apr 2002 18:03:22 +0000 (14:03 -0400)]
irda update 1/7:
o [FEATURE] Reduce LAP Tx queue to 2 packets (from 10)
Improve latency, reduce buffer usage
o [FEATURE] LAP Tx queue not full notification (flow start)
Poll higher layer to fill synchronously LAP window (7 packets)
o [FEATURE] LMP LSAP scheduler
Ensure Tx fairness between LSAPs (sockets, IrCOMM, IrNET...)
Jeff Garzik [Tue, 30 Apr 2002 17:38:46 +0000 (13:38 -0400)]
Add new PC300 WAN driver (courtesy Cyclades), and my own changes:
* patch added stuff to include/linux. move these three new headers
to drivers/net/wan.
* change the code to support these changes
* slightly better Config.in entry. needs more work, though.