]> git.neil.brown.name Git - history.git/log
history.git
23 years agoMerge master.kernel.org:/home/davem/BK/sparc-2.5
Linus Torvalds [Wed, 1 May 2002 03:39:55 +0000 (20:39 -0700)]
Merge master.kernel.org:/home/davem/BK/sparc-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoMerge master.kernel.org:/home/davem/BK/net-2.5
Linus Torvalds [Wed, 1 May 2002 03:38:52 +0000 (20:38 -0700)]
Merge master.kernel.org:/home/davem/BK/net-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoMerge http://ppc.bkbits.net/for-linus-ppc64
Linus Torvalds [Wed, 1 May 2002 03:37:53 +0000 (20:37 -0700)]
Merge http://ppc.bkbits.net/for-linus-ppc64
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoppc64: Only implement thread priority macros on HMT or iSeries kernels
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

23 years agoppc64: Add write memory barriers before atomics that return values
Anton Blanchard [Thu, 2 May 2002 02:57:23 +0000 (12:57 +1000)]
ppc64: Add write memory barriers before atomics that return values

23 years agoppc64: sort exception table
Anton Blanchard [Thu, 2 May 2002 02:56:21 +0000 (12:56 +1000)]
ppc64: sort exception table

23 years agoMerge samba.org:/scratch/anton/linux-2.5
Anton Blanchard [Wed, 1 May 2002 22:11:25 +0000 (08:11 +1000)]
Merge samba.org:/scratch/anton/linux-2.5
into samba.org:/scratch/anton/linux-2.5_ppc64

23 years ago[PATCH] four compile fixes for 2.5.12
John Kim [Wed, 1 May 2002 03:37:06 +0000 (20:37 -0700)]
[PATCH] four compile fixes for 2.5.12

Pretty boring stuff.  Four compile fixes for 2.5.12.

23 years agoMerge http://linux-isdn.bkbits.net/linux-2.5.make
Linus Torvalds [Wed, 1 May 2002 03:35:56 +0000 (20:35 -0700)]
Merge http://linux-isdn.bkbits.net/linux-2.5.make
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoALSA: Fix link error
Kai Germaschewski [Wed, 1 May 2002 05:01:17 +0000 (00:01 -0500)]
ALSA: Fix link error

If snd-pcm.o is selected built-in, snd-timer.o needs to be get built-in
as well, since snd-pcm.o needs snd-timer.o's symbols.

23 years agoDocumentation/kbuild/makefiles.txt update
Kai Germaschewski [Wed, 1 May 2002 04:35:09 +0000 (23:35 -0500)]
Documentation/kbuild/makefiles.txt update

Remove description of long obsolete (pre-2.4) Makefiles and describe the
current system.

23 years agoSmall Rules.make cleanup
Kai Germaschewski [Wed, 1 May 2002 04:32:10 +0000 (23:32 -0500)]
Small Rules.make cleanup

Get rid of long obsolete (and unused) MOD_IN_SUBDIRS and unnecessary
MOD_DIRS variable.

23 years agoMerge http://gkernel.bkbits.net/misc-2.5
Linus Torvalds [Wed, 1 May 2002 03:28:52 +0000 (20:28 -0700)]
Merge http://gkernel.bkbits.net/misc-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoMerge http://gkernel.bkbits.net/net-drivers-2.5
Linus Torvalds [Wed, 1 May 2002 03:27:30 +0000 (20:27 -0700)]
Merge http://gkernel.bkbits.net/net-drivers-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoMerge http://gkernel.bkbits.net/irda-2.5
Linus Torvalds [Wed, 1 May 2002 03:26:43 +0000 (20:26 -0700)]
Merge http://gkernel.bkbits.net/irda-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years ago[PATCH] Unresolved symbol block_flushpage
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.

23 years ago[PATCH] Export path_lookup()
Paul Menage [Wed, 1 May 2002 03:23:39 +0000 (20:23 -0700)]
[PATCH] Export path_lookup()

path_lookup() is no longer an inline function, and needs to be exported
for jffs2, nfsd and af_unix to load as modules.

23 years agoManual merge for problems between Al Viro's blocksize removal and
Linus Torvalds [Wed, 1 May 2002 03:23:17 +0000 (20:23 -0700)]
Manual merge for problems between Al Viro's blocksize removal and
Douglas Gilbert's SCSI cleanups

23 years ago[PATCH] scsi disk (sd) driver 2.5.12
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 .

23 years ago[PATCH] scsi_error 2.5.12
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.

23 years ago[PATCH] missing checks in exec_permission_light()
Alexander Viro [Wed, 1 May 2002 03:04:58 +0000 (20:04 -0700)]
[PATCH] missing checks in exec_permission_light()

Missing checks added...

23 years ago[PATCH] (6/6) blksize_size[] removal
Alexander Viro [Wed, 1 May 2002 02:58:26 +0000 (19:58 -0700)]
[PATCH] (6/6) blksize_size[] removal

 - switch blk_get_ra_pages() to struct block_device *, move its use
   from bdget() to do_open().

23 years ago[PATCH] (5/6) blksize_size[] removal
Alexander Viro [Wed, 1 May 2002 02:58:14 +0000 (19:58 -0700)]
[PATCH] (5/6) blksize_size[] removal

 - kill bread()/getblk()/get_hash_table() (kdev_t-using wrappers; struct
   block_device * counterparts are obviously still alive).

23 years ago[PATCH] (4/6) blksize_size[] removal
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.

23 years ago[PATCH] (3/6) blksize_size[] removal
Alexander Viro [Wed, 1 May 2002 02:57:49 +0000 (19:57 -0700)]
[PATCH] (3/6) blksize_size[] removal

 - switch block_size() to struct block_device *.

23 years ago[PATCH] (2/6) blksize_size[] removal
Alexander Viro [Wed, 1 May 2002 02:57:37 +0000 (19:57 -0700)]
[PATCH] (2/6) blksize_size[] removal

 - switch set_blocksize() to struct block_device *.

23 years ago[PATCH] (1/6) blksize_size[] removal
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.

23 years agoFix lance net driver build, after recent autoirq -> probe_irq_x changes
Jeff Garzik [Tue, 30 Apr 2002 23:49:30 +0000 (19:49 -0400)]
Fix lance net driver build, after recent autoirq -> probe_irq_x changes

23 years agoAdd support for SiS962 phy to sis900 net driver.
Mufasa Yang [Tue, 30 Apr 2002 23:32:41 +0000 (19:32 -0400)]
Add support for SiS962 phy to sis900 net driver.
Also introduce new maintainer.

23 years agoAdd four new help texts to wan driver Config.help.
Steven Cole [Tue, 30 Apr 2002 22:38:14 +0000 (18:38 -0400)]
Add four new help texts to wan driver Config.help.

23 years agos/Efoo/-Efoo/ cleanup for drivers:
Anthony J. Breeds-Taurima [Tue, 30 Apr 2002 22:35:47 +0000 (18:35 -0400)]
s/Efoo/-Efoo/ cleanup for drivers:
etherh acorn net driver, mtdblock_ro mtd driver, and
sym 2 scsi driver.

23 years agorequest_region janitor updates for ultrastor scsi driver:
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

23 years agorequest_region janitor updates for megaraid scsi driver:
William Stinson [Tue, 30 Apr 2002 22:30:10 +0000 (18:30 -0400)]
request_region janitor updates for megaraid scsi driver:
1) removes calls to check_region
2) checks the result of request_region

23 years agorequest_region janitor updates for BusLogic SCSI driver.
William Stinson [Tue, 30 Apr 2002 22:27:35 +0000 (18:27 -0400)]
request_region janitor updates for BusLogic SCSI driver.

23 years agoFix typos in BK kernel howto.
Steven Cole [Tue, 30 Apr 2002 22:26:43 +0000 (18:26 -0400)]
Fix typos in BK kernel howto.

23 years agobaycom_ser_fdx hamradio driver request_region janitor updates:
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

23 years agorequest_region janitor update for sdla wan driver
William Stinson [Tue, 30 Apr 2002 22:18:43 +0000 (18:18 -0400)]
request_region janitor update for sdla wan driver

23 years agonet driver's Space.c was missing {'s. Weird.
Dave Jones [Tue, 30 Apr 2002 22:16:00 +0000 (18:16 -0400)]
net driver's Space.c was missing {'s.  Weird.

23 years agoMerge 2.4 update to ariadne net driver:
Dave Jones [Tue, 30 Apr 2002 22:14:28 +0000 (18:14 -0400)]
Merge 2.4 update to ariadne net driver:
remove unneeded asm/io.h include

23 years agoe100 net driver update:
Dave Jones [Tue, 30 Apr 2002 22:13:36 +0000 (18:13 -0400)]
e100 net driver update:
e100_phy_reset is called from non-init functions,
so remove __devexit marker from that function.

23 years agos/strtok/strsep/ in gt96100 net driver
Dave Jones [Tue, 30 Apr 2002 22:12:18 +0000 (18:12 -0400)]
s/strtok/strsep/ in gt96100 net driver

23 years agoComment out misplaced } in dscc4 wan driver.
Dave Jones [Tue, 30 Apr 2002 22:10:47 +0000 (18:10 -0400)]
Comment out misplaced } in dscc4 wan driver.
Spotted by Keith Owens.

23 years agoAUI fixes for TLAN net driver.
Samuel S. Chessman [Tue, 30 Apr 2002 22:07:54 +0000 (18:07 -0400)]
AUI fixes for TLAN net driver.
Also, mention new maintainer.

23 years agoAdd docs for 3c509 network driver.
David Ruggiero [Tue, 30 Apr 2002 22:06:16 +0000 (18:06 -0400)]
Add docs for 3c509 network driver.

23 years agoFix typo in bonding network device documentation.
Dave Jones [Tue, 30 Apr 2002 22:04:28 +0000 (18:04 -0400)]
Fix typo in bonding network device documentation.

23 years agoifenslave sample program updates:
Erik Habbinga [Tue, 30 Apr 2002 22:03:20 +0000 (18:03 -0400)]
ifenslave sample program updates:
* ifr2.ifr_flags was not initialized in the hwaddr_notset case,
* SIOCGIFFLAGS now called before hwaddr_notset test

23 years agorequest_region janitor updates for sealevel wan driver
William Stinson [Tue, 30 Apr 2002 21:59:28 +0000 (17:59 -0400)]
request_region janitor updates for sealevel wan driver

23 years agoMerge samba.org:/scratch/anton/linux-2.5
Anton Blanchard [Tue, 30 Apr 2002 19:43:25 +0000 (05:43 +1000)]
Merge samba.org:/scratch/anton/linux-2.5
into samba.org:/scratch/anton/linux-2.5_ppc64

23 years agoNetfilter trivial fixes:
David S. Miller [Tue, 30 Apr 2002 19:25:04 +0000 (12:25 -0700)]
Netfilter trivial fixes:
- net/core/netfilter.c (overlap): Overlap calculation error.
- net/ipv6/netfilter/ip6_tables.c: Misplaced parentheses leads
to pointer calculation error on SMP.

23 years agoSparc64:
David S. Miller [Tue, 30 Apr 2002 19:20:34 +0000 (12:20 -0700)]
Sparc64:
- Fix cache_decay_ticks calculation.
- Mark some trap initialization funcs __init.

23 years agoirda update 7/7:
Jean Tourrilhes [Tue, 30 Apr 2002 18:08:32 +0000 (14:08 -0400)]
irda update 7/7:
        o [CORRECT] Prevent dealock on simultaneous peer IrNET connections
                Only the primary peer will accept the IrNET connection

23 years agoirda update 6/7:
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

23 years agoirda update 5/7:
Jean Tourrilhes [Tue, 30 Apr 2002 18:07:16 +0000 (14:07 -0400)]
irda update 5/7:
o [CORRECT] Load dongle module with irq disabled in irtty

23 years agoirda update 4/7:
Jean Tourrilhes [Tue, 30 Apr 2002 18:06:00 +0000 (14:06 -0400)]
irda update 4/7:
o [FEATURE] Dongle driver for mcp2120/crystal hardware

23 years agoirda update 3/7:
Jean Tourrilhes [Tue, 30 Apr 2002 18:05:06 +0000 (14:05 -0400)]
irda update 3/7:
        o [FEATURE] Replace interruptible_sleep_on() with wait_event().
                Most races were taken care off, but cleaner anyway

23 years agoirda update 2/7:
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 ;-)

23 years agoirda update 1/7:
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...)

23 years agoMerge http://linux-isdn.bkbits.net/linux-2.5.net-auto_irq
Jeff Garzik [Tue, 30 Apr 2002 17:52:39 +0000 (13:52 -0400)]
Merge http://linux-isdn.bkbits.net/linux-2.5.net-auto_irq
into mandrakesoft.com:/home/jgarzik/repo/net-drivers-2.5

23 years agoAdd new PC300 WAN driver (courtesy Cyclades), and my own changes:
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.

23 years agoMerge mandrakesoft.com:/home/jgarzik/vanilla/linus-2.5
Jeff Garzik [Tue, 30 Apr 2002 17:23:57 +0000 (13:23 -0400)]
Merge mandrakesoft.com:/home/jgarzik/vanilla/linus-2.5
into mandrakesoft.com:/home/jgarzik/repo/misc-2.5

23 years agoMerge mandrakesoft.com:/home/jgarzik/vanilla/linus-2.5
Jeff Garzik [Tue, 30 Apr 2002 16:59:34 +0000 (12:59 -0400)]
Merge mandrakesoft.com:/home/jgarzik/vanilla/linus-2.5
into mandrakesoft.com:/home/jgarzik/repo/net-drivers-2.5

23 years agodrivers/video/sbusfb.c (sbusfbcon_blank): Return zero if operation
David S. Miller [Tue, 30 Apr 2002 10:37:13 +0000 (03:37 -0700)]
drivers/video/sbusfb.c (sbusfbcon_blank): Return zero if operation
not supported.

23 years agoSparc64: Remove HDIO_{SET,GET}_KEEPSETTINGS references, as they
David S. Miller [Tue, 30 Apr 2002 10:32:16 +0000 (03:32 -0700)]
Sparc64: Remove HDIO_{SET,GET}_KEEPSETTINGS references, as they
no longer exist.

23 years agoFix PIIX bugs from merge v2.5.12
Linus Torvalds [Tue, 30 Apr 2002 08:23:44 +0000 (01:23 -0700)]
Fix PIIX bugs from merge

23 years ago[PATCH] 2.5.x TUN/TAP driver readv/writev support
Maksim Krasnyanskiy [Tue, 30 Apr 2002 07:51:37 +0000 (00:51 -0700)]
[PATCH] 2.5.x TUN/TAP driver readv/writev support

This adds proper support for readv/writev in the TUN/TAP driver.

23 years agoAutomerge
Linus Torvalds [Tue, 30 Apr 2002 07:47:42 +0000 (00:47 -0700)]
Automerge

23 years agoMerge http://linux-isdn.bkbits.net/linux-2.5.make-sound
Linus Torvalds [Tue, 30 Apr 2002 07:46:51 +0000 (00:46 -0700)]
Merge http://linux-isdn.bkbits.net/linux-2.5.make-sound
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux

23 years agoMerge http://linux-isdn.bkbits.net/linux-2.5.isdn
Linus Torvalds [Tue, 30 Apr 2002 07:45:56 +0000 (00:45 -0700)]
Merge http://linux-isdn.bkbits.net/linux-2.5.isdn
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux

23 years agoAutomerge
Linus Torvalds [Tue, 30 Apr 2002 07:44:49 +0000 (00:44 -0700)]
Automerge

23 years agoAutomerge
Linus Torvalds [Tue, 30 Apr 2002 07:44:18 +0000 (00:44 -0700)]
Automerge

23 years agoAutomerge
Linus Torvalds [Tue, 30 Apr 2002 07:43:32 +0000 (00:43 -0700)]
Automerge

23 years ago[PATCH] orinoco driver update
David Gibson [Tue, 30 Apr 2002 07:42:48 +0000 (00:42 -0700)]
[PATCH] orinoco driver update

The following patch against 2.5.11 updates the orinoco driver.  As well
as miscellaneous updates to the driver core it adds a new module
supporting Prism 2.5 based PCI wireless cards, and adds a MAINTAINERS
entry for the driver.

23 years ago[PATCH] 2.5.11 : drivers/net/ppp_generic.c
Frank Davis [Tue, 30 Apr 2002 07:41:56 +0000 (00:41 -0700)]
[PATCH] 2.5.11 : drivers/net/ppp_generic.c

Linus,
  During a 'make bzImage', I received a warning on ppp_generic.c that ret
wasn't initialized (also for 2.5.10). I have attached a patch that sets
ret = count, thus removing the warning. Please review for inclusion.

Regards,
Frank

23 years agoMerge http://linux-isdn.bkbits.net/linux-2.5.make
Linus Torvalds [Tue, 30 Apr 2002 07:40:51 +0000 (00:40 -0700)]
Merge http://linux-isdn.bkbits.net/linux-2.5.make
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux

23 years ago[PATCH] sched cleanup, comments, separate max prios
Robert Love [Tue, 30 Apr 2002 07:39:14 +0000 (00:39 -0700)]
[PATCH] sched cleanup, comments, separate max prios

Attached patch is a resync of previous patches sent by Ingo and I.
Specifically:

- create new MAX_USER_RT_PRIO value
- separate uses of MAX_RT_PRIO vs MAX_USER_RT_PRIO
- replace use of magic numbers by above
- additional comments

23 years ago[PATCH] 2.5.11 synclink.h
Paul Fulghum [Tue, 30 Apr 2002 07:38:37 +0000 (00:38 -0700)]
[PATCH] 2.5.11 synclink.h

This patch to synclink.h against 2.5.11 is required
for the synclink_cs.c driver to compile.

23 years ago[PATCH] Removing SYMBOL_NAME part 6
Brian Gerst [Tue, 30 Apr 2002 07:38:02 +0000 (00:38 -0700)]
[PATCH] Removing SYMBOL_NAME part 6

Last remaining instances removed.

23 years agoMerge
Linus Torvalds [Tue, 30 Apr 2002 07:37:29 +0000 (00:37 -0700)]
Merge

23 years ago[PATCH] Re: ALSA patch..
Jaroslav Kysela [Tue, 30 Apr 2002 07:19:56 +0000 (00:19 -0700)]
[PATCH] Re: ALSA patch..

I overlooked these single line changes.  Here are next corrections
against ChangeSet 1.547:

23 years agoFix broken sound print macros
Linus Torvalds [Tue, 30 Apr 2002 07:19:23 +0000 (00:19 -0700)]
Fix broken sound print macros

23 years agoupdate x86 defconfig
Linus Torvalds [Tue, 30 Apr 2002 07:18:36 +0000 (00:18 -0700)]
update x86 defconfig

23 years agoMove BKL into readdir for ntfs-tng
Linus Torvalds [Tue, 30 Apr 2002 07:05:03 +0000 (00:05 -0700)]
Move BKL into readdir for ntfs-tng

23 years ago[PATCH] shift BKL out of vfs_readdir
Dave Hansen [Tue, 30 Apr 2002 07:00:53 +0000 (00:00 -0700)]
[PATCH] shift BKL out of vfs_readdir

This patch takes the BKL out of vfs_readdir() and moves it into the
individual filesystems, all 35 of them.  I have the feeling that this
wasn't done before because there are a lot of these to change and it was
a pain to find them all.  I definitely got all of those that were
defined in the in the structure declaration like this "readdir:
fs_readdir;" vxfs_readdir was assigned strangely, but I found it anyway.
I also left devfs out of this one.  Richard seems confident that devfs
has no need for the BKL.

23 years agoUpdate kernel version
Linus Torvalds [Tue, 30 Apr 2002 07:00:00 +0000 (00:00 -0700)]
Update kernel version

23 years ago[PATCH] 2.5.11 IDE 48
Martin Dalecki [Tue, 30 Apr 2002 06:59:09 +0000 (23:59 -0700)]
[PATCH] 2.5.11 IDE 48

Tue Apr 30 13:23:13 CEST 2002 ide-clean-48

This fixes the "performance" degradation partially, becouse we don't
miss that many jiffies in choose_urgent_device() anymore.  However
choose_urgent_device has to be fixed for the off by one error to don't
loop for a whole 1/100 second before submitting the next request.

- Include small declaration bits for Jens. (WIN_NOP fix in esp.)

- Fix ide-pmac to conform to the recent API changes.

- Prepare and improve the handling of the request queue. It sucks now as many
   request as possible. This is improving the performance.

23 years ago[PATCH] 2.5.11 IDE 47
Martin Dalecki [Tue, 30 Apr 2002 06:59:01 +0000 (23:59 -0700)]
[PATCH] 2.5.11 IDE 47

- Rewrite choose_drive() to iterate explicitely over the channels and devices
    on them. It is not performance critical to iterate over this typically quite
    small array of disks and allows us to let them act on the natural entity,
    namely the channel as well as to remove the drive->next field from struct
    ata_device.  Make the device eviction code in ide_do_request() more
    intelliglible.  Add some comments explaining the reasoning behind the code
    there.

- Now finally since the code for choosing the drive which will be serviced next
    is intelliglibly it became obvious that the attempt to choose the next drive
    based on the duration of the last request was entierly bogous. (Because for
    example wakeups can take a long time, but this doesn't indicate that the
    drive is slow.) Remove this criterium and the corresponding accounting
    therefore. Threat all drives fairly right now.

Surprise surprise the overall system throughput increased :-).

23 years ago[PATCH] 2.5.11 IDE 46
Martin Dalecki [Tue, 30 Apr 2002 06:57:32 +0000 (23:57 -0700)]
[PATCH] 2.5.11 IDE 46

- Remove the specific CONFIG_IDEDMA_PCI_WIP in favor of using the generic
   CONFIG_EXPERIMENTAL tag. (Pointed out by Vojtech Pavlik).

- Change the signature of the IRQ handler to take the request directly as a
   parameter. This doesn't blow the code up but makes it much more obvious and
   finally it's reducing the number of side effects of the hwgroup->rq field.

- A second sharp look after the above change allowed us to remove the wrq field
   from the hwgroup struct. It's just not used at all.

- Change the signature of the end_request member of struct ata_operations to
   take the request as a second argument. Similar for __ide_end_request()
   and ide_end_request().

- Remove BUG_ON() items just before ide_set_handler(). The check in
   ide_set_handler is clever enough now.

- Remove the rq subfield from ide-scsi packet structure. We have now the
   request context always in place. Same for floppy.

- Let the timer expiry function take the request as a direct argument.

Yes I know those changes are extensive. But they are a necessary step
in between for the following purposes:

- Consolidate the whole ATA/ATAPI stuff on passing a single unified request
   handling object. Because after eliminating those side effects it's far easier
   to see what's passed where.

- Minimizing the amount of side effects in the overall code. That's a good
   thing anyway and it *doesn't* cost us neither performance nor space, since
   the stack depths are small anyway here.

- Minimizing the usage of hwgroup - which should go away if possible.

23 years ago[PATCH] cleanup sync_buffers()
Andrew Morton [Tue, 30 Apr 2002 06:54:28 +0000 (23:54 -0700)]
[PATCH] cleanup sync_buffers()

Renames sync_buffers() to sync_blockdev() and removes its (never used)
second argument.

Removes fsync_no_super() in favour of direct calls to sync_blockdev().

23 years ago[PATCH] page writeback locking update
Andrew Morton [Tue, 30 Apr 2002 06:54:18 +0000 (23:54 -0700)]
[PATCH] page writeback locking update

- Fixes a performance problem - callers of
  prepare_write/commit_write, etc are locking pages, which synchronises
  them behind writeback, which also locks these pages.  Significant
  slowdowns for some workloads.

- So pages are no longer locked while under writeout.  Introduce a
  new PG_writeback and associated infrastructure to support this design
  change.

- Pages which are under read I/O still use PageLocked.  Pages which
  are under write I/O have PageWriteback() true.

  I considered creating Page_IO instead of PageWriteback, and marking
  both readin and writeout pages as PageIO().  So pages are unlocked
  during both read and write.  There just doesn't seem a need to do
  this - nobody ever needs unblocking access to a page which is under
  read I/O.

- Pages under swapout (brw_page) are PageLocked, not PageWriteback.
  So their treatment is unchangeded.

  It's not obvious that pages which are under swapout actually need
  the more asynchronous behaviour of PageWriteback.

  I was setting the swapout pages PageWriteback and unlocking them
  prior to submitting the buffers in brw_page().  This led to deadlocks
  on the exit_mmap->zap_page_range->free_swap_and_cache path.  These
  functions call block_flushpage under spinlock.  If the page is
  unlocked but has locked buffers, block_flushpage->discard_buffer()
  sleeps.  Under spinlock.  So that will need fixing if for some reason
  we want swapout to use PageWriteback.

  Kernel has called block_flushpage() under spinlock for a long time.
   It is assuming that a locked page will never have locked buffers.
  This appears to be true, but it's ugly.

- Adds new function wait_on_page_writeback().  Renames wait_on_page()
  to wait_on_page_locked() to remind people that they need to call the
  appropriate one.

- Renames filemap_fdatasync() to filemap_fdatawrite().  It's more
  accurate - "sync" implies, if anything, writeout and wait.  (fsync,
  msync) Or writeout.  it's not clear.

- Subtly changes the filemap_fdatawrite() internals - this function
  used to do a lock_page() - it waited for any other user of the page
  to let go before submitting new I/O against a page.  It has been
  changed to simply skip over any pages which are currently under
  writeback.

  This is the right thing to do for memory-cleansing reasons.

  But it's the wrong thing to do for data consistency operations (eg,
  fsync()).  For those operations we must ensure that all data which
  was dirty *at the time of the system call* are tight on disk before
  the call returns.

  So all places which care about this have been converted to do:

filemap_fdatawait(mapping); /* Wait for current writeback */
filemap_fdatawrite(mapping); /* Write all dirty pages */
filemap_fdatawait(mapping); /* Wait for I/O to complete */

- Fixes a truncate_inode_pages problem - truncate currently will
  block when it hits a locked page, so it ends up getting into lockstep
  behind writeback and all of the file is pointlessly written back.

  One fix for this is for truncate to simply walk the page list in the
  opposite direction from writeback.

  I chose to use a separate cleansing pass.  It is more
  CPU-intensive, but it is surer and clearer.  This is because there is
  no reason why the per-address_space ->vm_writeback and
  ->writeback_mapping functions *have* to perform writeout in
  ->dirty_pages order.  They may choose to do something totally
  different.

  (set_page_dirty() is an a_op now, so address_spaces could almost
  privatise the whole dirty-page handling thing.  Except
  truncate_inode_pages and invalidate_inode_pages assume that the pages
  are on the address_space lists.  hmm.  So making truncate_inode_pages
  and invalidate_inode_pages a_ops would make some sense).

23 years ago[PATCH] hashed b_wait
Andrew Morton [Tue, 30 Apr 2002 06:54:08 +0000 (23:54 -0700)]
[PATCH] hashed b_wait

Implements hashed waitqueues for buffer_heads.  Drops twelve bytes from
struct buffer_head.

23 years ago[PATCH] cleanup of bh->flags
Andrew Morton [Tue, 30 Apr 2002 06:53:51 +0000 (23:53 -0700)]
[PATCH] cleanup of bh->flags

Moves all buffer_head-related stuff out of linux/fs.h and into
linux/buffer_head.h.  buffer_head.h is currently included at the very
end of fs.h.  So it is possible to include buffer_head directly from
all .c files and remove this nested include.

Also rationalises all the set_buffer_foo() and mark_buffer_bar()
functions.  We have:

set_buffer_foo(bh)
clear_buffer_foo(bh)
buffer_foo(bh)

and, in some cases, where needed:

test_set_buffer_foo(bh)
test_clear_buffer_foo(bh)

And that's it.

BUFFER_FNS() and TAS_BUFFER_FNS() macros generate all the above real
inline functions.  Normally not a big fan of cpp abuse, but in this
case it fits.  These function-generating macros are available to
filesystems to expand their own b_state functions.  JBD uses this in
one case.

23 years ago[PATCH] remove show_buffers()
Andrew Morton [Tue, 30 Apr 2002 06:53:41 +0000 (23:53 -0700)]
[PATCH] remove show_buffers()

Remove show_buffers().  It really has nothing to show any more.  just
buffermem_pages() - move that out into the callers.

There's a lot of duplication in this code.  better approach would be to
remove all the duplicated code out in the architectures and implement
generic show_memory_state().  Later.

23 years ago[PATCH] remove PG_skip
Andrew Morton [Tue, 30 Apr 2002 06:53:32 +0000 (23:53 -0700)]
[PATCH] remove PG_skip

Remove PG_skip.  Nothing is using it (the change was acked by rmk a
while back)

23 years ago[PATCH] remove i_dirty_data_buffers
Andrew Morton [Tue, 30 Apr 2002 06:53:20 +0000 (23:53 -0700)]
[PATCH] remove i_dirty_data_buffers

Removes inode.i_dirty_data_buffers.  It's no longer used - all dirty
buffers have their pages marked dirty and filemap_fdatasync() /
filemap_fdatawait() catches it all.

Updates all callers.

This required a change in JFS - it has "metapages" which
are a container around a page which holds metadata.  They
were holding these pages locked and were relying on fsync_inode_data_buffers
for writing them out.  So fdatasync() deadlocked.

I've changed JFS to not lock those pages.  Change was acked
by Dave Kleikamp <shaggy@austin.ibm.com> as the right
thing to do, but may not be complete.  Probably igrab()
against ->host is needed to pin the address_space down.

23 years ago[PATCH] remove buffer head b_inode
Andrew Morton [Tue, 30 Apr 2002 06:53:09 +0000 (23:53 -0700)]
[PATCH] remove buffer head b_inode

Removal of buffer_head.b_inode.  The list_emptiness of b_inode_buffers
is used to indicate whether the buffer is on an inode's
i_dirty_buffers.

23 years ago[PATCH] cleanup write_one_page
Andrew Morton [Tue, 30 Apr 2002 06:52:59 +0000 (23:52 -0700)]
[PATCH] cleanup write_one_page

Remove writeout_one_page(), waitfor_one_page() and the now-unused
generic_buffer_fdatasync().

Add new

write_one_page(struct page *page, int wait)

which is exported to modules.  Update callers to use that.  It's only
used for IS_SYNC operations.

23 years ago[PATCH] cleanup page_swap_cache
Andrew Morton [Tue, 30 Apr 2002 06:52:51 +0000 (23:52 -0700)]
[PATCH] cleanup page_swap_cache

Removes some redundant BUG checks - trueness of PageSwapCache() implies
that page->mapping is non-NULL, and we've already checked that.

23 years ago[PATCH] cleanup page flags
Andrew Morton [Tue, 30 Apr 2002 06:52:37 +0000 (23:52 -0700)]
[PATCH] cleanup page flags

page->flags cleanup.

Moves the definitions of the page->flags bits and all the PageFoo
macros into linux/page-flags.h.  That file is currently included from
mm.h, but the stage is set to remove that and include page-flags.h
direct in all .c files which require that.  (120 of them).

The patch also makes all the page flag macros and functions consistent:

For PG_foo, the following functions are defined:

SetPageFoo
ClearPageFoo
TestSetPageFoo
TestClearPageFoo
PageFoo

and that's it.

- Page_Uptodate is renamed to PageUptodate

- LockPage is removed.  All users updated to use SetPageLocked

- UnlockPage is removed.  All callers updated to use unlock_page().
  it's a real function - there's no need to hide that fact.

- PageTestandClearReferenced renamed to TestClearPageReferenced

- PageSetSlab renamed to SetPageSlab

- __SetPageReserved is removed.  It's an infinitesimally small
   microoptimisation, and is inconsistent.

- TryLockPage is renamed to TestSetPageLocked

- PageSwapCache() is renamed to page_swap_cache(), so it doesn't
  pretend to be a page->flags bit test.

23 years ago[PATCH] minix directory handling
Andrew Morton [Tue, 30 Apr 2002 06:52:26 +0000 (23:52 -0700)]
[PATCH] minix directory handling

Convert minixfs directory code to not rely on the state of data outside
i_size.

23 years ago[PATCH] remove buffer unused_list
Andrew Morton [Tue, 30 Apr 2002 06:52:18 +0000 (23:52 -0700)]
[PATCH] remove buffer unused_list

Removes the buffer_head unused list.  Use a mempool instead.

The reduced lock contention provided about a 10% boost on ANton's
12-way.