]> git.neil.brown.name Git - history.git/log
history.git
22 years ago[Bluetooth] Make use of the MODULE_VERSION macro
Marcel Holtmann [Sun, 14 Mar 2004 19:06:25 +0000 (20:06 +0100)]
[Bluetooth] Make use of the MODULE_VERSION macro

Each module contains a version number and this patch uses MODULE_VERSION
to make it visible through modinfo.

22 years agoMerge bk://gkernel.bkbits.net/libata-2.5
Linus Torvalds [Fri, 12 Mar 2004 04:53:05 +0000 (20:53 -0800)]
Merge bk://gkernel.bkbits.net/libata-2.5
into ppc970.osdl.org:/home/torvalds/v2.5/linux

22 years agoMerge redhat.com:/spare/repo/linux-2.5
Jeff Garzik [Fri, 12 Mar 2004 08:54:32 +0000 (03:54 -0500)]
Merge redhat.com:/spare/repo/linux-2.5
into redhat.com:/spare/repo/libata-2.5

22 years agoMerge bk://kernel.bkbits.net/jgarzik/netconsole-2.5
Linus Torvalds [Fri, 12 Mar 2004 04:51:47 +0000 (20:51 -0800)]
Merge bk://kernel.bkbits.net/jgarzik/netconsole-2.5
into ppc970.osdl.org:/home/torvalds/v2.5/linux

22 years agoMerge redhat.com:/spare/repo/netdev-2.6/netpoll
Jeff Garzik [Fri, 12 Mar 2004 09:05:14 +0000 (04:05 -0500)]
Merge redhat.com:/spare/repo/netdev-2.6/netpoll
into redhat.com:/spare/repo/netconsole-2.5

22 years agoAdd Promise SX8 (carmel) block driver.
Jeff Garzik [Fri, 12 Mar 2004 08:52:04 +0000 (03:52 -0500)]
Add Promise SX8 (carmel) block driver.

22 years agoMerge bk://gkernel.bkbits.net/prism54-2.5
Linus Torvalds [Fri, 12 Mar 2004 02:26:29 +0000 (18:26 -0800)]
Merge bk://gkernel.bkbits.net/prism54-2.5
into ppc970.osdl.org:/home/torvalds/v2.5/linux

22 years ago[wireless prism54] remove WIRELESS_EXT ifdefs
Jeff Garzik [Fri, 12 Mar 2004 08:02:56 +0000 (03:02 -0500)]
[wireless prism54] remove WIRELESS_EXT ifdefs

22 years ago[wireless] Add new Prism54 wireless driver.
Jeff Garzik [Fri, 12 Mar 2004 07:55:33 +0000 (02:55 -0500)]
[wireless] Add new Prism54 wireless driver.

22 years agoMerge bk://linux-scsi.bkbits.net/scsi-for-linus-2.6
Linus Torvalds [Fri, 12 Mar 2004 01:30:40 +0000 (17:30 -0800)]
Merge bk://linux-scsi.bkbits.net/scsi-for-linus-2.6
into ppc970.osdl.org:/home/torvalds/v2.5/linux

22 years agoMerge http://lia64.bkbits.net/to-linus-2.5
Linus Torvalds [Fri, 12 Mar 2004 01:28:55 +0000 (17:28 -0800)]
Merge http://lia64.bkbits.net/to-linus-2.5
into ppc970.osdl.org:/home/torvalds/v2.5/linux

22 years agoRevert attribute_used changes in module.h. They were wrong.
Linus Torvalds [Fri, 12 Mar 2004 01:08:58 +0000 (17:08 -0800)]
Revert attribute_used changes in module.h. They were wrong.

Cset exclude: akpm@osdl.org|ChangeSet|20040312161945|47751

22 years ago[PATCH] slab: avoid higher-order allocations
Andrew Morton [Fri, 12 Mar 2004 00:25:56 +0000 (16:25 -0800)]
[PATCH] slab: avoid higher-order allocations

From: Manfred Spraul <manfred@colorfullife.com>

At present slab is using 2-order allocations for the size-2048 cache.  Of
course, this can affect networking quite seriously.

The patch ensures that slab will never use more than a 1-order allocation
for objects which have a size of less than 2*PAGE_SIZE.

22 years ago[PATCH] vmscan: add lru_to_page() helper
Andrew Morton [Fri, 12 Mar 2004 00:25:47 +0000 (16:25 -0800)]
[PATCH] vmscan: add lru_to_page() helper

From: Nick Piggin <piggin@cyberone.com.au>

Add a little helper macro for a common list extraction operation in vmscan.c

22 years ago[PATCH] vm: balance inactive zone refill rates
Andrew Morton [Fri, 12 Mar 2004 00:25:36 +0000 (16:25 -0800)]
[PATCH] vm: balance inactive zone refill rates

The current refill logic in refill_inactive_zone() takes an arbitrarily large
number of pages and chops it down to SWAP_CLUSTER_MAX*4, regardless of the
size of the zone.

This has the effect of reducing the amount of refilling of large zones
proportionately much more than of small zones.

We made this change in may 2003 and I'm damned if I remember why.  let's put
it back so we don't truncate the refill count and see what happens.

22 years ago[PATCH] fix vm-batch-inactive-scanning.patch
Andrew Morton [Fri, 12 Mar 2004 00:25:24 +0000 (16:25 -0800)]
[PATCH] fix vm-batch-inactive-scanning.patch

- prevent nr_scan_inactive from going negative

- compare `count' with SWAP_CLUSTER_MAX, not `max_scan'

- Use ">= SWAP_CLUSTER_MAX", not "> SWAP_CLUSTER_MAX".

22 years ago[PATCH] vmscan: batch up inactive list scanning work
Andrew Morton [Fri, 12 Mar 2004 00:25:12 +0000 (16:25 -0800)]
[PATCH] vmscan: batch up inactive list scanning work

From: Nick Piggin <piggin@cyberone.com.au>

Use a "refill_counter" for inactive list scanning, similar to the one used
for active list scanning.  This batches up scanning now that we precisely
balance ratios, and don't round up the amount to be done.

No observed benefits, but I imagine it would lower the acquisition
frequency of the lru locks in some cases, and make codepaths more efficient
in general due to cache niceness.

22 years ago[PATCH] vmscan: less throttling of page allocators and kswapd
Andrew Morton [Fri, 12 Mar 2004 00:25:03 +0000 (16:25 -0800)]
[PATCH] vmscan: less throttling of page allocators and kswapd

This is just a random unsubstantiated tuning tweak: don't immediately
throttle page allocators and kwapd when the going is getting heavier: scan a
bit more of the LRU before throttling.

22 years ago[PATCH] fix the kswapd zone scanning algorithm
Andrew Morton [Fri, 12 Mar 2004 00:24:52 +0000 (16:24 -0800)]
[PATCH] fix the kswapd zone scanning algorithm

This removes a vestige of the old algorithm.  We don't want to skip zones if
all_zones_ok is true: we've already precalculated which zones need scanning
and this just stops us from ever performing kswapd reclaim from the DMA zone.

22 years ago[PATCH] kswapd: fix lumpy page reclaim
Andrew Morton [Fri, 12 Mar 2004 00:24:40 +0000 (16:24 -0800)]
[PATCH] kswapd: fix lumpy page reclaim

As kswapd is now scanning zones in the highmem->normal->dma direction it can
get into competition with the page allocator: kswapd keep on trying to free
pages from highmem, then kswapd moves onto lowmem.  By the time kswapd has
done proportional scanning in lowmem, someone has come in and allocated a few
pages from highmem.  So kswapd goes back and frees some highmem, then some
lowmem again.  But nobody has allocated any lowmem yet.  So we keep on and on
scanning lowmem in response to highmem page allocations.

With a simple `dd' on a 1G box we get:

 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy wa id
 0  3      0  59340   4628 922348    0    0     4 28188 1072   808  0 10 46 44
 0  3      0  29932   4660 951760    0    0     0 30752 1078   441  1  6 30 64
 0  3      0  57568   4556 924052    0    0     0 30748 1075   478  0  8 43 49
 0  3      0  29664   4584 952176    0    0     0 30752 1075   472  0  6 34 60
 0  3      0   5304   4620 976280    0    0     4 40484 1073   456  1  7 52 41
 0  3      0 104856   4508 877112    0    0     0 18452 1074    97  0  7 67 26
 0  3      0  70768   4540 911488    0    0     0 35876 1078   746  0  7 34 59
 1  2      0  42544   4568 939680    0    0     0 21524 1073   556  0  5 43 51
 0  3      0   5520   4608 976428    0    0     4 37924 1076   836  0  7 41 51
 0  2      0   4848   4632 976812    0    0    32 12308 1092    94  0  1 33 66

Simple fix: go back to scanning the zones in the dma->normal->highmem
direction so we meet the page allocator in the middle somewhere.

 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy wa id
 1  3      0   5152   3468 976548    0    0     4 37924 1071   650  0  8 64 28
 1  2      0   4888   3496 976588    0    0     0 23576 1075   726  0  6 66 27
 0  3      0   5336   3532 976348    0    0     0 31264 1072   708  0  8 60 32
 0  3      0   6168   3560 975504    0    0     0 40992 1072   683  0  6 63 31
 0  3      0   4560   3580 976844    0    0     0 18448 1073   233  0  4 59 37
 0  3      0   5840   3624 975712    0    0     4 26660 1072   800  1  8 46 45
 0  3      0   4816   3648 976640    0    0     0 40992 1073   526  0  6 47 47
 0  3      0   5456   3672 976072    0    0     0 19984 1070   320  0  5 60 35

22 years ago[PATCH] kswapd: avoid unnecessary reclaiming from higher zones
Andrew Morton [Fri, 12 Mar 2004 00:24:29 +0000 (16:24 -0800)]
[PATCH] kswapd: avoid unnecessary reclaiming from higher zones

Currently kswapd walks across all zones in dma->normal->highmem order,
performing proportional scanning until all zones are OK.  This means that
pressure against ZONE_NORMAL causes unnecessary reclaim of ZONE_HIGHMEM.

To fix that up we change kswapd so that it walks the zones in the
high->normal->dma direction, skipping zones which are OK.  Once it encounters
a zone which needs some reclaim kswapd will perform proportional scanning
against that zone as well as all the succeeding lower zones.

We scan the lower zones even if they have sufficient free pages.  This is
because

a) the lower zone may be above pages_high, but because of the incremental
   min, the lower zone may still not be eligible for allocations.  That's bad
   because cache in that lower zone will then not be scanned at the correct
   rate.

b) pages in this lower zone are usable for allocations against the higher
   zone.  So we do want to san all the relevant zones at an equal rate.

22 years ago[PATCH] vmscan: avoid bogus throttling
Andrew Morton [Fri, 12 Mar 2004 00:24:20 +0000 (16:24 -0800)]
[PATCH] vmscan: avoid bogus throttling

- If max_scan evaluates to zero due to a very small inactive list and high
  `priority' numbers, we don't want to thrlttle yet.

- In balance_pgdat(), we may end up not scanning any pages because all
  zones happened to be above pages_high.  Avoid throttling in this case too.

22 years ago[PATCH] Balance inter-zone scan rates
Andrew Morton [Fri, 12 Mar 2004 00:24:10 +0000 (16:24 -0800)]
[PATCH] Balance inter-zone scan rates

When page reclaim is working out how many pages to san in a zone (max-scan)
it presently rounds that number up if it looks too small - for work batching.

Problem is, this can result in excessive scanning against small zones which
have few inactive pages.  So remove it.

Not that it is possible for max_scan to be zero.  That's OK - it'll become
non-zero as the priority increases.

22 years ago[PATCH] vmscan: drive everything via nr_to_scan
Andrew Morton [Fri, 12 Mar 2004 00:24:01 +0000 (16:24 -0800)]
[PATCH] vmscan: drive everything via nr_to_scan

Page reclaim is currently a bit schitzo: sometimes we say "go and scan this
many pages and tell me how many pages were freed" and at other times we say
"go and scan this many pages, but stop if you freed this many".

It makes the logic harder to control and to understand.  This patch coverts
everything into the "go and scan this many pages and tell me how many pages
were freed" model.

It doesn't seem to affect performance much either way.

22 years ago[PATCH] vmscan: zone balancing fix
Andrew Morton [Fri, 12 Mar 2004 00:23:50 +0000 (16:23 -0800)]
[PATCH] vmscan: zone balancing fix

We currently have a problem with the balancing of reclaim between zones: much
more reclaim happens against highmem than against lowmem.

This patch partially fixes this by changing the direct reclaim path so it
does not bale out of the zone walk after having reclaimed sufficient pages
from highmem: go on to reclaim from lowmem regardless of how many pages we
reclaimed from lowmem.

22 years ago[PATCH] vm: scan slab in response to highmem scanning
Andrew Morton [Fri, 12 Mar 2004 00:23:38 +0000 (16:23 -0800)]
[PATCH] vm: scan slab in response to highmem scanning

The patch which went in six months or so back which said "only reclaim slab
if we're scanning lowmem pagecache" was wrong.  I must have been asleep at
the time.

We do need to scan slab in response to highmem page reclaim as well.  Because
all the math is based around the total amount of memory in the machine, and
we know that if we're performing highmem page reclaim then the lower zones
have no free memory.

22 years ago[PATCH] vmscan: fix calculation of number of pages scanned
Andrew Morton [Fri, 12 Mar 2004 00:23:28 +0000 (16:23 -0800)]
[PATCH] vmscan: fix calculation of number of pages scanned

From: Nick Piggin <piggin@cyberone.com.au>

The logic which calculates the numberof pages which were scanned is mucked
up.  Fix.

22 years ago[PATCH] vm: shrink slab evenly in try_to_free_pages()
Andrew Morton [Fri, 12 Mar 2004 00:23:19 +0000 (16:23 -0800)]
[PATCH] vm: shrink slab evenly in try_to_free_pages()

From: Nick Piggin <piggin@cyberone.com.au>

In try_to_free_pages(), put even pressure on the slab even if we have
reclaimed enough pages from the LRU.

22 years ago[PATCH] shrink_slab: math precision fix
Andrew Morton [Fri, 12 Mar 2004 00:23:10 +0000 (16:23 -0800)]
[PATCH] shrink_slab: math precision fix

From: Nick Piggin <piggin@cyberone.com.au>

In shrink_slab(), do the multiply before the divide to avoid losing
precision.

22 years ago[PATCH] vmscan: preserve page referenced info in refill_inactive()
Andrew Morton [Fri, 12 Mar 2004 00:23:01 +0000 (16:23 -0800)]
[PATCH] vmscan: preserve page referenced info in refill_inactive()

From: Nick Piggin <piggin@cyberone.com.au>

If refill_inactive_zone() is running in its dont-reclaim-mapped-memory mode
we are tossing away the referenced infomation on active mapped pages.

So put that info back if we're not going to deactivate the page.

22 years ago[PATCH] kswapd throttling fixes
Andrew Morton [Fri, 12 Mar 2004 00:22:50 +0000 (16:22 -0800)]
[PATCH] kswapd throttling fixes

The logic in balance_pgdat() is all bollixed up.

- the incoming arg `nr_pages' should be used to determine if we're being
  asked to free a specific number of pages, not `to_free'.

- local variable `to_free' is not appropriate for the determination of
  whether we failed to bring all zones to appropriate free pages levels.

  Fix this by correctly calculating `all_zones_ok' and then use
  all_zones_ok to determine whether we need to throttle kswapd.

So the logic now is:

for (increasing priority) {

all_zones_ok = 1;

for (all zones) {
to_reclaim = number of pages to try to reclaim
     from this zone;
max_scan = number of pages to scan in this pass
   (gets larger as `priority' decreases)
/*
 * set `reclaimed' to the number of pages which were
 * actually freed up
 */
reclaimed = scan(max_scan pages);
reclaimed += shrink_slab();

to_free -= reclaimed; /* for the `nr_pages>0' case */

/*
 * If this scan failed to reclaim `to_reclaim' or more
 * pages, we're getting into trouble.  Need to scan
 * some more, and throttle kswapd.   Note that this
 * zone may now have sufficient free pages due to
 * freeing activity by some other process.   That's
 * OK - we'll pick that info up on the next pass
 * through the loop.
 */
if (reclaimed < to_reclaim)
all_zones_ok = 0;
}
if (to_free > 0)
continue; /* swsusp: need to do more work */
if (all_zones_ok)
break; /* kswapd is done */
/*
 * OK, kswapd is getting into trouble.  Take a nap, then take
 * another pass across the zones.
 */
blk_congestion_wait();
}

22 years ago[PATCH] mm/vmscan.c: remove unused priority argument.
Andrew Morton [Fri, 12 Mar 2004 00:22:39 +0000 (16:22 -0800)]
[PATCH] mm/vmscan.c: remove unused priority argument.

From: Nikita Danilov <Nikita@Namesys.COM>

Now that decision to reclaim mapped memory is taken on the basis of
zone->prev_priority, priority argument is no longer needed.

22 years ago[PATCH] Narrow blk_congestion_wait races
Andrew Morton [Fri, 12 Mar 2004 00:22:27 +0000 (16:22 -0800)]
[PATCH] Narrow blk_congestion_wait races

From: Nick Piggin <piggin@cyberone.com.au>

The addition of the smp_mb and the other change is to try to close the
window for races a bit.  Obviously they can still happen, it's a racy
interface and it doesn't matter much.

22 years ago[PATCH] return remaining jiffies from blk_congestion_wait()
Andrew Morton [Fri, 12 Mar 2004 00:22:15 +0000 (16:22 -0800)]
[PATCH] return remaining jiffies from blk_congestion_wait()

Teach blk_congestion_wait() to return the number of jiffies remaining.  This
is for debug, but it is also nicely consistent.

22 years ago[PATCH] vm: per-zone vmscan instrumentation
Andrew Morton [Fri, 12 Mar 2004 00:22:06 +0000 (16:22 -0800)]
[PATCH] vm: per-zone vmscan instrumentation

To check on zone balancing, split the /proc/vmstat:pgsteal, pgreclaim pgalloc
and pgscan stats into per-zone counters.

Additionally, split the pgscan stats into pgscan_direct and pgscan_kswapd to
see who's doing how much scanning.

And add a metric for the number of slab objects which were scanned.

22 years ago[PATCH] synclink.c update
Andrew Morton [Fri, 12 Mar 2004 00:21:56 +0000 (16:21 -0800)]
[PATCH] synclink.c update

From: Paul Fulghum <paulkf@microgate.com>

* track driver API changes
* remove cast (kernel janitor)

22 years ago[PATCH] synclink_cs.c update
Andrew Morton [Fri, 12 Mar 2004 00:21:45 +0000 (16:21 -0800)]
[PATCH] synclink_cs.c update

From: Paul Fulghum <paulkf@microgate.com>

* Track driver API changes
* Remove cast (kernel janitor)

22 years ago[PATCH] synclinkmp.c update
Andrew Morton [Fri, 12 Mar 2004 00:21:34 +0000 (16:21 -0800)]
[PATCH] synclinkmp.c update

From: Paul Fulghum <paulkf@microgate.com>

Patch for synclinkmp.c

* Track driver API changes
* Remove cast (kernel janitor)
* Replace page_free call with kfree (to match kmalloc allocation)

22 years ago[PATCH] Add barriers to avoid race in mempool_alloc/free
Andrew Morton [Fri, 12 Mar 2004 00:21:24 +0000 (16:21 -0800)]
[PATCH] Add barriers to avoid race in mempool_alloc/free

From: Chris Mason <mason@suse.com>

mempool_alloc() and mempool_free() check pool->curr_nr without any locks
held.  This can lead to skipping a wakeup when there are people waiting,
and sleeping when there are free elements in the pool.

I can't trigger this reliably, but sooner or later someone on ppc is
probably going to hit it.

22 years ago[PATCH] m68k: interrupt management cleanups
Andrew Morton [Fri, 12 Mar 2004 00:21:15 +0000 (16:21 -0800)]
[PATCH] m68k: interrupt management cleanups

From: Geert Uytterhoeven <geert@linux-m68k.org>

M68k interrupt management: rename routines to not confuse them with
syscalls

- sys_{request,free}_irq() -> cpu_{request,free}_irq()

- q40_sys_default_handler[] -> q40_default_handler

- sys_default_handler() -> default_handler()

22 years ago[PATCH] m68k: Macintosh IDE fixes
Andrew Morton [Fri, 12 Mar 2004 00:21:04 +0000 (16:21 -0800)]
[PATCH] m68k: Macintosh IDE fixes

From: Geert Uytterhoeven <geert@linux-m68k.org>

Mac IDE: Make sure the core IDE driver doesn't try to request the MMIO
ports a second time, since this will fail.

22 years ago[PATCH] Apollo fb sysfsification
Andrew Morton [Fri, 12 Mar 2004 00:20:52 +0000 (16:20 -0800)]
[PATCH] Apollo fb sysfsification

From: Geert Uytterhoeven <geert@linux-m68k.org>

Apollo fb: Add sysfs support (from James Simmons)

22 years ago[PATCH] m68k: Amiga Framemaster II fb sysfsification
Andrew Morton [Fri, 12 Mar 2004 00:20:42 +0000 (16:20 -0800)]
[PATCH] m68k: Amiga Framemaster II fb sysfsification

From: Geert Uytterhoeven <geert@linux-m68k.org>

Amiga Framemaster II fb: Add sysfs support (from James Simmons)

22 years ago[PATCH] m68k: __test_and_set_bit()
Andrew Morton [Fri, 12 Mar 2004 00:20:33 +0000 (16:20 -0800)]
[PATCH] m68k: __test_and_set_bit()

From: Geert Uytterhoeven <geert@linux-m68k.org>

Add missing implementation for non-atomic __test_and_set_bit()

22 years ago[PATCH] fbdev: monitor detection fixes
Andrew Morton [Fri, 12 Mar 2004 00:20:22 +0000 (16:20 -0800)]
[PATCH] fbdev: monitor detection fixes

From: James Simmons <jsimmons@infradead.org>,
      Kronos <kronos@kronoz.cjb.net>

Various fixes and enhancements to the monitor hardware detection code.  The
only driver that uses it is the radeon driver.

Old EDID parsing code was very verbose, half of the patch address this (ie.
print lots of stuff iff DEBUG).  The other big change is the FB_MODE_IS_*
stuff: we really need a way to know the origin of a video mode.  In this way
we can select video mode that comes from EDID instead of VESA or GTF.

Drivers other than radeonfb won't be affected because they cannot (yet) get
EDID from the monitor and don't use EDID related code.

22 years ago[PATCH] Fix NULL pointer dereference in blkmtd.c
Andrew Morton [Fri, 12 Mar 2004 00:20:08 +0000 (16:20 -0800)]
[PATCH] Fix NULL pointer dereference in blkmtd.c

From: Michel Marti <michel.marti@objectxp.com>

The blkmtd driver oopses in add_device().  The following trivial patch
fixes this.

22 years ago[PATCH] fix raid0 readahead size
Andrew Morton [Fri, 12 Mar 2004 00:19:57 +0000 (16:19 -0800)]
[PATCH] fix raid0 readahead size

From: Arjan van de Ven <arjanv@redhat.com>

Readahead of raid0 was suboptimal; it read only 1 stride ahead.  The
problem with this is that while it will keep all spindles busy, it will not
actually manage to make larger IO's, eg each disk would just do the chunk
size IO.  Doing at least 2 chunks is more than appropriate so that each
spindle will get a chance to merge IO's.

(Neil fixed raid6 and raid6 too)

22 years ago[PATCH] module.h __attribute_used__ fix
Andrew Morton [Fri, 12 Mar 2004 00:19:45 +0000 (16:19 -0800)]
[PATCH] module.h __attribute_used__ fix

From: Rusty Russell <rusty@rustcorp.com.au>

Someone added __attribute_used__ throughout module.h, but didn't remove the
", unused".  Looks like some arch/gcc combos still consider it unused, and
discard the fn.

22 years ago[PATCH] Fix CONFIG_NVRAM dependencies
Andrew Morton [Fri, 12 Mar 2004 00:19:34 +0000 (16:19 -0800)]
[PATCH] Fix CONFIG_NVRAM dependencies

From: Geert Uytterhoeven <geert@linux-m68k.org>

Make CONFIG_NVRAM depend on the prerequisites that are explicitly checked
for in drivers/char/nvram.c, or on CONFIG_GENERIC_NVRAM (for PPC).

22 years ago[PATCH] Applicom warning
Andrew Morton [Fri, 12 Mar 2004 00:19:26 +0000 (16:19 -0800)]
[PATCH] Applicom warning

From: Geert Uytterhoeven <geert@linux-m68k.org>

Add missing include (needed for struct inode)

22 years ago[PATCH] Disable Macintosh device drivers for all but PPC || MAC
Andrew Morton [Fri, 12 Mar 2004 00:19:15 +0000 (16:19 -0800)]
[PATCH] Disable Macintosh device drivers for all but PPC || MAC

From: Marc-Christian Petersen <m.c.p@wolk-project.de>

The attached patch is needed to stop showing us "Macintosh device drivers"
for all architectures via menuconfig || xconfig || gconfig.  It's only
necessary for PPC and/or MAC.

ACKed by benh.

22 years ago[PATCH] add nowarn to a few pte chain allocators
Andrew Morton [Fri, 12 Mar 2004 00:19:04 +0000 (16:19 -0800)]
[PATCH] add nowarn to a few pte chain allocators

From: Arjan van de Ven <arjanv@redhat.com>

Several of the pte_chain_alloc() allocators that use GFP_ATOMIC have a
fallback for failure that sleeps; they thus need to not warn on failure..
Seen during a big fork on a busy system.

22 years ago[PATCH] cciss: init section fix
Andrew Morton [Fri, 12 Mar 2004 00:18:53 +0000 (16:18 -0800)]
[PATCH] cciss: init section fix

From: "Randy.Dunlap" <rddunlap@osdl.org>

cciss_scsi_detect() can be called after init (for TAPE support).

22 years ago[PATCH] EDD: Get Legacy Parameters
Andrew Morton [Fri, 12 Mar 2004 00:18:43 +0000 (16:18 -0800)]
[PATCH] EDD: Get Legacy Parameters

From: Matt Domsch <Matt_Domsch@dell.com>

Patch below from Patrick J. LoPresti and myself.  Patrick describes:

Why this patch?  The problem is that the legacy BIOS interface
(INT13/AH=3D08) for querying the disk geometry returns different values
than the extended INT13 interface which the EDD code currently uses.  This
is because the legacy interface only provides a 10-bit cylinder field, so
modern BIOSes "lie" about the head/sector counts in order to make more of
the disk visible within the first 1024 cylinders.

Many non-Linux applications, including the stock Windows boot loader, DOS
fdisk, etc., rely upon the legacy interface and geometry.  So it is useful
to be able to obtain the legacy values from a running Linux kernel.

What this patch does is to add new entries under
/sys/firmware/edd/int13_devXX named "legacy_cylinders", "legacy_heads", and
"legacy_sectors".  These provide the geometry given by the legacy
INT13/AH=3D08 BIOS interface, just like the current "default_cylinders"
etc.  provide the the geometry given by the INT13/AH=3D48 interface.

Without this patch, I cannot use Linux to partition a drive and install
Windows, which happens to be my application.

 - Pat
   http://unattended.sourceforge.net/

In addition, this adds two buggy BIOS workarounds  in the EDD int13
calls as suggested by Ralf Brown's interrupt list.

I'm also interested in moving this code out of arch/i386/kernel/edd.c and
include/asm-i386/edd.h, as I believe it is applicable on x86-64 as well.
However, there's no good place under drivers/ to put edd.c when it's not
tied to a bus, but to several CPU architectures and their firmwares...
Maybe a new directory drivers/firmware?

22 years ago[PATCH] wavfront.c needs syscalls.h
Andrew Morton [Fri, 12 Mar 2004 00:18:34 +0000 (16:18 -0800)]
[PATCH] wavfront.c needs syscalls.h

sound/oss/wavfront.c: In function `wavefront_download_firmware':
sound/oss/wavfront.c:2524: warning: implicit declaration of function `sys_open'
sound/oss/wavfront.c:2533: warning: implicit declaration of function `sys_read'
sound/oss/wavfront.c:2582: warning: implicit declaration of function `sys_close

22 years ago[PATCH] Fix reading the last block on a bdev
Andrew Morton [Fri, 12 Mar 2004 00:18:23 +0000 (16:18 -0800)]
[PATCH] Fix reading the last block on a bdev

From: Chris Mason <mason@suse.com>

This patch fixes a problem we're hitting on ia64 with page sizes > 4k.

When the page size is greater than the block size, and parts of the page
fall past the end of the device, readpage will fail because
blkdev_get_block returns -EIO for blocks past i_size.

The attached patch changes blkdev_get_block to return holes when reading
past the end of the device, which allows us to read that last valid 4k
block and then fill the rest of the page with zeros.  Writes will still
fail with -EIO.

22 years ago[PATCH] Fix rootfs on ramdisk
Andrew Morton [Fri, 12 Mar 2004 00:18:12 +0000 (16:18 -0800)]
[PATCH] Fix rootfs on ramdisk

From: vda <vda@port.imtp.ilyichevsk.odessa.ua>

Add a missing test for the "root=/dev/ram" kernel boot option.  It's just an
alias for /dev/ram0, but it worked in 2.4...

22 years ago[PATCH] current_is_keventd() speedup
Andrew Morton [Fri, 12 Mar 2004 00:18:00 +0000 (16:18 -0800)]
[PATCH] current_is_keventd() speedup

From: Srivatsa Vaddagiri <vatsa@in.ibm.com>

current_is_keventd() doesn't need to search across all the CPUs to identify
itself.

22 years ago[PATCH] Fix and harden validate_mm
Andrew Morton [Fri, 12 Mar 2004 00:17:51 +0000 (16:17 -0800)]
[PATCH] Fix and harden validate_mm

From: Andi Kleen <ak@muc.de>

I was debugging some code that corrupted the vma rb lists and for that I
fixed validate_mm to not be recursive and do some more checks.

It's slower now, but that shouldn't be a problem.

Also make it non static to allow easier checks elsewhere.

22 years ago[PATCH] fadvise(POSIX_FADV_DONTNEED) fixups
Andrew Morton [Fri, 12 Mar 2004 00:17:41 +0000 (16:17 -0800)]
[PATCH] fadvise(POSIX_FADV_DONTNEED) fixups

From: WU Fengguang <wfg@mail.ustc.edu.cn>

- In sys_fadvise64_64(): if the start and/or end offsets do not fall on
  page boundaries, preserve the partial pages.  The thinking here is that it
  is better to preserve needed memory than to not shoot down unneeded memory.

- In invalidate_mapping_pages(): we were invalidating an entire pagevec's
  worth of pages each time around, even if that went beyond the part of the
  file which the caller asked to be invalidated.  Fix that up.

22 years ago[PATCH] AMD ELAN Kconfig fix
Andrew Morton [Fri, 12 Mar 2004 00:17:30 +0000 (16:17 -0800)]
[PATCH] AMD ELAN Kconfig fix

From: Adrian Bunk <bunk@fs.tum.de>

- remove an MELAN entry that was forgotten in the i386 processor
  selection menu

- s/CONFIG_MELAN/CONFIG_X86_ELAN/ was missing in module.h

22 years ago[PATCH] watchdog: moduleparam-patches
Andrew Morton [Fri, 12 Mar 2004 00:17:21 +0000 (16:17 -0800)]
[PATCH] watchdog: moduleparam-patches

From: Wim Van Sebroeck <wim@iguana.be>

Convert last set of watchdog drivers to new moduleparam system.

22 years ago[PATCH] Remove arbitrary #acl entries limits on ext[23] when reading
Andrew Morton [Fri, 12 Mar 2004 00:17:10 +0000 (16:17 -0800)]
[PATCH] Remove arbitrary #acl entries limits on ext[23] when reading

From: Andreas Gruenbacher <agruen@suse.de>

Remove the arbitrary limit of 32 ACL entries on ext[23] when reading from
disk.  This change is backward compatible; we need to have this change in
to be able to also allow writing big ACLs.

The second patch that removes the ACL entry limit for writes is not
included.  I don't want to push that patch now, because large ACLs would
cause 2.4 and current 2.6 kernels to fail.  My plan is to remove the second
limit later, in a half-year or year or so.

22 years ago[PATCH] Enable i810 fb on x86-64
Andrew Morton [Fri, 12 Mar 2004 00:16:59 +0000 (16:16 -0800)]
[PATCH] Enable i810 fb on x86-64

From: Andi Kleen <ak@suse.de>

i810fb most likely is needed on x86-64 too because there are Intel chipsets
for it now.  So far it only linked on i386, fix this.

22 years ago[PATCH] /proc data corruption check
Andrew Morton [Fri, 12 Mar 2004 00:16:50 +0000 (16:16 -0800)]
[PATCH] /proc data corruption check

From: Arjan van de Ven <arjanv@redhat.com>

If someone removes a /proc directory which still has subdirectories it will
lead to very nasty things (dentries remaining on hash chains etc etc etc).
The BUG_ON in the patch below will catch this nasty situation.

22 years ago[PATCH] Remove unneeded unlock in ipc/sem.c
Andrew Morton [Fri, 12 Mar 2004 00:16:39 +0000 (16:16 -0800)]
[PATCH] Remove unneeded unlock in ipc/sem.c

From: Manfred Spraul <manfred@colorfullife.com>

sem_revalidate checks that a semaphore array didn't disappear while the
code was running without the semaphore array spinlock.  If the array
disappeared, then it will return without holding a lock.  find_undo calls
sem_revalidate and then sem_unlock, even if sem_revalidate failed.  The
sem_unlock call must be removed.

Mingming Cao reported a spinlock deadlock with sysv semaphores.  A
superflous unlock doesn't explain the deadlock, but it's obviously a bug.

22 years ago[PATCH] kbuild: fix usage with directories containing '.o'
Andrew Morton [Fri, 12 Mar 2004 00:16:28 +0000 (16:16 -0800)]
[PATCH] kbuild: fix usage with directories containing '.o'

From: Sam Ravnborg <sam@ravnborg.org>

From: Daniel Mack <daniel@zonque.org>, me

modpost unconditionally searched for ".o" assuming this is always the
suffix of the module.  This fails in two cases:

a) when building external modules where any directory include ".o" in
   the name.  One example is a directory named: .../cvs.alsa.org/...

b) when someone names a kernel directory so it contains ".o".  One
   example is drivers/scsi/aic.ok/...

case b) was triggered by renaming the directory for aic7xxx, and modifying
Makefile and Kconfig.  This caused make modules to fail.

22 years ago[PATCH] loop setup race fix
Andrew Morton [Fri, 12 Mar 2004 00:16:17 +0000 (16:16 -0800)]
[PATCH] loop setup race fix

From: Chris Mason <mason@suse.com>

There's a race in loopback setup, it's easiest to trigger with one or more
procs doing loopback mounts at the same time.  The problem is that
fs/block_dev.c:do_open() only calls bdev_set_size on the first open.
Picture two procs:

proc1: mount -o loop file1 mnt1
proc2: mount -o loop file2 mnt2

proc1                   proc2
open /dev/loop0                         # bd_openers now 1
do_open
 bd_set_size(bdev, 0)                   # loop unbound, so bdev size is 0
                        open /dev/loop0 # bd_openers now 2
loop_set_fd                             # disk capacity now correct, but
        # bdev not updated
mount /dev/loop0 /mnt
do_open

Because bd_openers != 0 for the last do_open, bd_set_size is not called
again and a size of 0 is used.  This eventually leads to an oops when the
loop device is unmounted, because fsync_bdev calls block_write_full_page
who decides every page on the block device is outside i_size and unmaps
them.

When ext2 or reiserfs try to sync a metadata buffer, we get an oops on
because the buffers are no longer mapped.

The patch below changes loop_set_fd and loop_clr_fd to also manipulate the
size of the block device, which fixes things for me.

22 years ago[PATCH] LOOP_CHANGE_FD ioctl
Andrew Morton [Fri, 12 Mar 2004 00:16:06 +0000 (16:16 -0800)]
[PATCH] LOOP_CHANGE_FD ioctl

From: Arjan van de Ven <arjanv@redhat.com>

The patch below (written by Al Viro) solves a nasty chicken-and-egg issue
for operating system installers (well at least anaconda but the problem
domain is not exclusive to that)

The basic problem is this:

- The small first stage installer locates the image file of the second
  stage installer (which has X and all the graphical stuff); this image can
  be on the same CD, but it can come via NFS, http or ftp or ...  as well.

- The first stage installer loop-back mounts this image and gives control
  to the second stage installer by calling some binary there.

- The graphical installer then asks the user all those questions and
  starts installing packages.  Again the packages can come from the CD but
  also from NFS or http or ...

Now in case of a CD install, once all requested packages from the first CD
are installed, the installer wants to unmount and eject the CD and prompt
the user to put CD 2 in.......  EXCEPT that the unmount can't work since
the installer is actually running from a loopback mount of this cd.

The solution is a "LOOP_CHANGE_FD" ioctl, where basically the installer
copies the image to the harddisk (which can only be done late since only
late the target harddisk is mkfs'd) and then magically switches the backing
store FD from underneath the loop device to the one on the target harddisk
(and thus unbusying the CD mount).

This is obviously only allowed if the size of the new image is identical
and if the loop image is read-only in the first place.  It's the
responsibility of root to make sure the contents is the same (but that's of
the give-root-enough-rope kind)

22 years ago[PATCH] kbuild: Cause `make clean' to remove more files
Andrew Morton [Fri, 12 Mar 2004 00:15:54 +0000 (16:15 -0800)]
[PATCH] kbuild: Cause `make clean' to remove more files

From: Sam Ravnborg <sam@ravnborg.org>

Make the difference between 'make clean' and 'make distclean/mrproper' more
explicit.

make clean now removes all generated files except .config* and .version.
The result is much easier to understand now.

make clean deletes all generated files (except .config* and .version).
make mrproper deletes configuration and all temporary files left by patch,
editors and the like.

Example output:
> make mrproper
  CLEAN   init
  CLEAN   usr
  CLEAN   scripts/kconfig
  CLEAN   scripts
  CLEAN   .tmp_versions include/config
  CLEAN   include/asm-i386/asm_offsets.h include/linux/autoconf.h include/linux/version.h include/asm .tmp_versions
  CLEAN   .version .config

Form the list of files/directories deleted during make clean, removed all
references that is no longer relevant for the current kernel.

22 years ago[PATCH] Fix elf mapping of the zero page
Andrew Morton [Fri, 12 Mar 2004 00:15:45 +0000 (16:15 -0800)]
[PATCH] Fix elf mapping of the zero page

From: William Lee Irwin III <wli@holomorphy.com>

Using PAGE_SIZE rather than 4096 so that mmap() granularity is honored by
whatever non-i386 architectures use MMAP_PAGE_ZERO.

22 years ago[PATCH] compiler.h scoping fixes
Andrew Morton [Fri, 12 Mar 2004 00:15:34 +0000 (16:15 -0800)]
[PATCH] compiler.h scoping fixes

From: Ville Nuorvala <vnuorval@tcs.hut.fi>

There are a few kernel-only things in compiler.h which should have been
placed inside __KERNEL__.

22 years ago[PATCH] Redundant unplug_timer deletion
Andrew Morton [Fri, 12 Mar 2004 00:15:19 +0000 (16:15 -0800)]
[PATCH] Redundant unplug_timer deletion

From: "Chen, Kenneth W" <kenneth.w.chen@intel.com>

The only path to get to del_timer call in __generic_unplug_device() is when
blk_remove_plug() returns 1, and in that case it already removed the
unplug_timer.

Patch to remove this redundant call.

22 years ago[PATCH] NUMA-aware zonelist builder
Andrew Morton [Fri, 12 Mar 2004 00:15:08 +0000 (16:15 -0800)]
[PATCH] NUMA-aware zonelist builder

From: <j-nomura@ce.jp.nec.com>

The attached patch is NUMA-aware zonelist builder patch, which sorts
zonelist in the order that near-node first, far-node last.  In lse-tech and
linux-ia64, where most of NUMA people resides, no objections are raised so
far.

The patch adds NUMA-specific version of build_zonelists which calls
find_next_best_node to select the next-nearest node to add to zonelist.

The patch has no effect on flat NUMA platform.

22 years ago[PATCH] kbuild: Remove CFLAGS assignment in i386/mach-*/Makefile
Andrew Morton [Fri, 12 Mar 2004 00:14:55 +0000 (16:14 -0800)]
[PATCH] kbuild: Remove CFLAGS assignment in i386/mach-*/Makefile

From: Sam Ravnborg <sam@ravnborg.org>

The EXTRA_CFLAGS assignments in the following files are a left-over from
the early 2.5 days where the source was not compiled from the root of the
source tree.

Removing these wrong assignments fixes
http://bugme.osdl.org/show_bug.cgi?id=2210

A script named 'kernel' in the .. directory no longer halt compilation.

22 years ago[PATCH] UDF filesystem update
Andrew Morton [Fri, 12 Mar 2004 00:14:43 +0000 (16:14 -0800)]
[PATCH] UDF filesystem update

From: Ben Fennema <bfennema@falcon.csc.calpoly.edu>

- added udf 2.5 #defines

- fixed prealloc discard race

- fixed several bugs in inode_getblk

- added S_IFSOCK support

- fix unicode encoding bug

- change partition allocation from kmalloc to vmalloc for large
  allocations

22 years ago[PATCH] selinux: clean up binary mount data
Andrew Morton [Fri, 12 Mar 2004 00:14:32 +0000 (16:14 -0800)]
[PATCH] selinux: clean up binary mount data

From: James Morris <jmorris@redhat.com>

selinux is currently inspecting the filesystem name ("nfs" vs "coda" vs
watever) to work out whether it needs to hanbdle binary mount data.

Eliminate all that by adding a flag to file_system_type.fs_flags.

22 years ago[PATCH] dm: stripe width fix
Andrew Morton [Fri, 12 Mar 2004 00:14:23 +0000 (16:14 -0800)]
[PATCH] dm: stripe width fix

dm-stripe.c: The stripe width must be at least the page size.

22 years ago[PATCH] dm: list targets cmd
Andrew Morton [Fri, 12 Mar 2004 00:14:14 +0000 (16:14 -0800)]
[PATCH] dm: list targets cmd

From: Joe Thornber <thornber@redhat.com>

List targets ioctl.  [Patrick Caulfield]

22 years ago[PATCH] dm: default queue limits
Andrew Morton [Fri, 12 Mar 2004 00:14:02 +0000 (16:14 -0800)]
[PATCH] dm: default queue limits

From: Joe Thornber <thornber@redhat.com>

Fill in missing queue limitations when table is complete instead of enforcing
the "default" limits on every dm device.  Problem noticed by Mike Christie.

[Christophe Saout]

22 years ago[PATCH] dm: list_for_each_entry audit
Andrew Morton [Fri, 12 Mar 2004 00:13:51 +0000 (16:13 -0800)]
[PATCH] dm: list_for_each_entry audit

From: Joe Thornber <thornber@redhat.com>

Audit for list_for_each_*entry*

22 years ago[PATCH] dm: endio method
Andrew Morton [Fri, 12 Mar 2004 00:13:40 +0000 (16:13 -0800)]
[PATCH] dm: endio method

From: Joe Thornber <thornber@redhat.com>

Add an endio method to targets.  This method is allowed to request another
shot at failed ios (think multipath).  Context can be passed between the map
method and the endio method.

22 years ago[PATCH] Allow X86_MCE_NONFATAL to be a module
Andrew Morton [Fri, 12 Mar 2004 00:13:26 +0000 (16:13 -0800)]
[PATCH] Allow X86_MCE_NONFATAL to be a module

From: Herbert Xu <herbert@gondor.apana.org.au>

By allowing X86_MCE_NONFATAL to be a module, it can be included in
distribution kernels without upsetting those with strange hardware.

22 years ago[PATCH] i386 very early memory detection cleanup patch
Andrew Morton [Fri, 12 Mar 2004 00:13:16 +0000 (16:13 -0800)]
[PATCH] i386 very early memory detection cleanup patch

From: "H. Peter Anvin" <hpa@zytor.com>

This patch cleans up the very early memory setup on the i386 platform.  In
particular, it removes the hard-coded 8 MB limit completely by dynamically
creating the early-boot pagetables rather than having them hard coded.

While I was at it, I changed head.S so that it always sets up a local GDT;
this means among other things that SMP and VISWS are no longer special
cases, and is conceptually cleaner to boot.  The VISWS people have
confirmed it works on VISWS.

It also uses a separate entrypoint for non-boot processors since this is
completely kernel-internal anyway.  This eliminates the need to set %bx on
boot.  (If you think this is a bad idea I can eliminate this change; it
just seemed cleaner to me to do it this way.)

Additionally, zero bss with rep;stosl rather that rep;stosb.

22 years ago[PATCH] genrtc: cleanups
Andrew Morton [Fri, 12 Mar 2004 00:13:07 +0000 (16:13 -0800)]
[PATCH] genrtc: cleanups

From: "Randy.Dunlap" <rddunlap@osdl.org>

From: Luiz Fernando Capitulino <lcapitulino@prefeitura.sp.gov.br>

remove ifdef/endif in rtc_generic_init().
use returned error code;

22 years ago[PATCH] remove __io_virt_debug
Andrew Morton [Fri, 12 Mar 2004 00:12:57 +0000 (16:12 -0800)]
[PATCH] remove __io_virt_debug

From: Brian Gerst <bgerst@didntduck.org>

Drivers should all be converted to use ioremap() or isa_*() by now.

22 years ago[PATCH] teach /proc/kmsg about O_NONBLOCK
Andrew Morton [Fri, 12 Mar 2004 00:12:47 +0000 (16:12 -0800)]
[PATCH] teach /proc/kmsg about O_NONBLOCK

If there's nothing available and the file is O_NONBLOCK, return -EAGAIN.

This is a bit grubby - really we should push the file* down into do_syslog()
and handle it inside the spinlock.

22 years ago[PATCH] time interpolator fix
Andrew Morton [Fri, 12 Mar 2004 00:12:38 +0000 (16:12 -0800)]
[PATCH] time interpolator fix

From: john stultz <johnstul@us.ibm.com>

In developing the ia64-cyclone patch, which implements a cyclone based time
interpolator, I found the following bug which could cause time
inconsistencies.

In update_wall_time_one_tick(), which is called each timer interrupt, we
call time_interpolator_update(delta_nsec) where delta_nsec is approximately
NSEC_PER_SEC/HZ.  This directly correlates with the changes to xtime which
occurs in update_wall_time_one_tick().

However in update_wall_time(), on a second overflow, we again call
time_interpolator_update(NSEC_PER_SEC).  However while the components of
xtime are being changed, the overall value of xtime does not (nsec is
decremented NSEC_PER_SEC and sec is incremented).  Thus this call to
time_interpolator_update is incorrect.

This patch removes the incorrect call to time_interpolator_update and was
found to resolve the time inconsistencies I had seen while developing the
ia64-cyclone patch.

22 years ago[PATCH] fb_console_init fix
Andrew Morton [Fri, 12 Mar 2004 00:12:26 +0000 (16:12 -0800)]
[PATCH] fb_console_init fix

From: James Simmons <jsimmons@infradead.org>

This patch fixes fb_console_init from being called twice.  I still need to
fix set_con2fb but this helps but this is still important to get in.

22 years ago[PATCH] read-only support for UFS2
Andrew Morton [Fri, 12 Mar 2004 00:12:15 +0000 (16:12 -0800)]
[PATCH] read-only support for UFS2

From: Niraj Kumar <niraj17@iitbombay.org>

This patch adds read-only support for ufs2 (used in FreeBSD 5.x) variant of
ufs filesystem.  For filesystem specific tools, see
http://ufs-linux.sourceforge.com .

22 years ago[PATCH] adaptive lazy readahead
Andrew Morton [Fri, 12 Mar 2004 00:12:05 +0000 (16:12 -0800)]
[PATCH] adaptive lazy readahead

From: Suparna Bhattacharya <suparna@in.ibm.com>

From: Ram Pai <linuxram@us.ibm.com>

Pipelined readahead behaviour is suitable for sequential reads, but not for
large random reads (typical of database workloads), where lazy readahead
provides a big performance boost.

One option (suggested by Andrew Morton) would be to have the application
pass hints to turn off readahead by setting the readahead window to zero
using posix_fadvise64(POSIX_FADV_RANDOM), and to special-case that in
do_generic_mapping_read to completely bypass the readahead logic and
instead read in all the pages needed directly.

This was the idea I started with.  But then I thought, we can do a still
better job ?  How about adapting the readahead algorithm to lazy-read or
non-lazy-read based on the past i/o patterns ?

The overall idea is to keep track of average number of contiguous pages
accessed in a file.  If the average at any given time is above ra->pages
the pattern is sequential.  If not the pattern is random.  If pattern is
sequential do non-lazy-readahead( read as soon as the first page in the
active window is touched) else do lazy-readahead.

I have studied the behaviour of this patch using my user-level simulator.
It adapts pretty well.

Note from Suparna: This appears to bring streaming AIO read performance for
large (64KB) random AIO reads back to sane values (since the lazy readahead
backout in the mainline).

22 years ago[PATCH] readdir() cleanups
Andrew Morton [Fri, 12 Mar 2004 00:11:54 +0000 (16:11 -0800)]
[PATCH] readdir() cleanups

From: <viro@parcelfarce.linux.theplanet.co.uk>

cramfs and freevxfs explicitly mark themselves readonly (as other r/o fs
do).

afs marked noatime (ACKed by maintainer)

filesystems that do not do update_atime() in their ->readdir() had been
explicitly marked nodiratime.  NOTE: cifs, coda and ncpfs almost certainly
need full noatime as we currently have in nfs and afs.

update_atime() call shifted to callers of ->readdir() and out of
->readdir() instances.  Bugs caught:

  dcache_readdir() updated atime only if it reached EOF.

  bfs_readdir() - ditto.

  qnx4_readdir() - ditto.

22 years ago[PATCH] Clean up sys_ioperm stubs
Andrew Morton [Fri, 12 Mar 2004 00:11:41 +0000 (16:11 -0800)]
[PATCH] Clean up sys_ioperm stubs

From: Brian Gerst <bgerst@didntduck.org>

Remove stubs for sys_ioperm for non-x86 arches, using sys_ni_syscall
instead where applicable.  Support for sys_ioperm is unconditionally no for
non-x86 arches.

22 years ago[PATCH] ppc64: fix initialisation of NUMA arrays
Andrew Morton [Fri, 12 Mar 2004 00:11:31 +0000 (16:11 -0800)]
[PATCH] ppc64: fix initialisation of NUMA arrays

From: Anton Blanchard <anton@samba.org>

We were hitting problems on machines with cpu_possible != cpu_online when
NUMA was enabled.  The debug checks would trip during scheduler init
because we iterate through all possible cpus whereas we only set up NUMA
information for online cpus.

Longer term we should have a cpu_up hook which sets up its NUMA information
but for now we initalise all possible cpus and memory to node 0.

22 years ago[PATCH] print kernel version in oops messages
Andrew Morton [Fri, 12 Mar 2004 00:11:20 +0000 (16:11 -0800)]
[PATCH] print kernel version in oops messages

From: Arjan van de Ven <arjanv@redhat.com>

Unfortunatly a large portion of the oops reports lack the basic
information about what kernel version the oops is for; it's trivial to just
print this in the oops as well to improve the usefulness of bugreports...

22 years ago[PATCH] ppc32: Fix G5 config space access lockup
Benjamin Herrenschmidt [Thu, 11 Mar 2004 23:58:24 +0000 (15:58 -0800)]
[PATCH] ppc32: Fix G5 config space access lockup

Fix a typo in the code that prevents lockup on config space access
to sleeping devices on ppc32/G5. Please apply.

22 years ago[PATCH] fix ppc64 in kernel syscalls
Anton Blanchard [Thu, 11 Mar 2004 23:57:24 +0000 (15:57 -0800)]
[PATCH] fix ppc64 in kernel syscalls

Thanks to some great debugging work by Olaf Hering and Marcus Meissner
it has been noticed that the current ppc64 syscall code is corrupting
4 bytes past errno. Why we even bothered to set errno beats me, its
unusable in the kernel.

Since we had to reinstate the inline syscall code we can go back to
using it for those few syscalls that we call. Especially now with
Randy's syscall prototype cleanup we should be calling them directly
but we can do that sometime later.

22 years ago[PATCH] CDROMREADAUDIO dma support
Jens Axboe [Thu, 11 Mar 2004 23:56:51 +0000 (15:56 -0800)]
[PATCH] CDROMREADAUDIO dma support

This small patch builds on top of the blk_rq_map_user() patch just sent,
and enables us to easily support DMA for CDROMREADAUDIO cdda extraction.
It's quite amazing how much cool stuff you can with the new block layer
:-)

Patch has intelligent fall back from multi frame dma to single frame
dma, and further to old-style pio ripping in case of hardware problems.

22 years ago[PATCH] user data -> request mapping
Jens Axboe [Thu, 11 Mar 2004 23:56:40 +0000 (15:56 -0800)]
[PATCH] user data -> request mapping

This patch allows you to map a request with user data for io, similarly
to what you can do with bio_map_user() already to a bio. However, this
goes one step further and populates the request so the user only has to
fill in the cdb (almost) and put it on the queue for execution. Patch
converts sg_io() to use it, next patch I'll send adapts cdrom layer to
use it for zero copy cdda dma extraction.

22 years ago[PATCH] fix PPC64 iSeries virtual console devices
Stephen Rothwell [Thu, 11 Mar 2004 23:56:29 +0000 (15:56 -0800)]
[PATCH] fix PPC64 iSeries virtual console devices

While playing with udev, I discovered that the virtual console
devices on iSeries had there minor numbers off by one i.e. /dev/tty1
was minor 2!

This fixes it.