]> git.hungrycats.org Git - linux/log
linux
23 years agoMore drm updates from Keith Whitwell
Linus Torvalds [Tue, 28 May 2002 09:58:56 +0000 (02:58 -0700)]
More drm updates from Keith Whitwell

23 years ago[PATCH] 2.5.18: unnamed PCI bus resources
Ivan Kokshaysky [Tue, 28 May 2002 09:53:27 +0000 (02:53 -0700)]
[PATCH] 2.5.18: unnamed PCI bus resources

As pointed out by Russell King, resource name pointers
of the secondary PCI buses are left uninitialized in the
non-x86 PCI allocation path.

Assigning these pointers in pci_add_new_bus() fixes the problem.

23 years agoMerge http://fbdev.bkbits.net:8080/fbdev-2.5
Linus Torvalds [Tue, 28 May 2002 09:27:12 +0000 (02:27 -0700)]
Merge http://fbdev.bkbits.net:8080/fbdev-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years ago[PATCH] 2.5.18 QUEUE_EMPTY and the unpleasant friends.
Martin Dalecki [Tue, 28 May 2002 09:25:46 +0000 (02:25 -0700)]
[PATCH] 2.5.18 QUEUE_EMPTY and the unpleasant friends.

 - Eliminate all usages of the obscure QUEUE_EMPTY macro.

 - Eliminate all unneccessary checks for RQ_INACTIVE, this can't happen during
   the time we run the request strategy routine of a single major number block
   device. Perhaps the still remaining usage in scsi and i2o_block.c should be
   killed as well, since the upper ll_rw_blk layer shouldn't pass inactive
   requests down.

Those are all places where we have deeply burried and hidden major number
indexed arrays. Let's deal with them slowly...

23 years ago[PATCH] airo
Martin Dalecki [Tue, 28 May 2002 09:25:34 +0000 (02:25 -0700)]
[PATCH] airo

Since apparently no body else did care thus far, and since I'm using
this driver, well here it comes:

 - Adjust the airo wireless LAN card driver for the fact that modules
   don't export symbols by default any longer.

 - Make some stuff which obivously should be static there static as well.
   (Plenty of code in Linux actually deserves a review for this
   far too common bug...)

23 years ago[PATCH] 2.5.18 IDE 72
Martin Dalecki [Tue, 28 May 2002 09:25:22 +0000 (02:25 -0700)]
[PATCH] 2.5.18 IDE 72

 - Replace ide_delay_50m with mdelay(50). There is absolutely no reason we
   should behave different behaviors whatever IDECS support is enabled or not.

 - Kill last parameter of ide_register_hw(). It should return a pointer to the
   interface registered later.

 - pdc202xx patches by Bartomiej onierkiewicz.

 - ServerWorks chi pset support cleanup by Andrej Panin.

 - Move temporarily ide_setup_ports to main.c unfold it in ide-pnp.c.

23 years ago[PATCH] preempt-safe net/ code
Robert Love [Tue, 28 May 2002 09:22:13 +0000 (02:22 -0700)]
[PATCH] preempt-safe net/ code

This fixes three locations in net/ where per-CPU data could bite us
under preemption.  This is the result of an audit I did and should
constitute all of the unsafe code in net/.

In net/core/skbuff.c I did not have to introduce any code - just
rearrange the grabbing of smp_processor_id() to be in the interrupt off
region.  Pretty clean fixes.

Note in the future we can use put_cpu() and get_cpu() to grab the CPU#
safely.  I will send a patch to Marcelo so we can have a 2.4 version
(which doesn't do the preempt stuff), too...

23 years ago[PATCH] set_cpus_allowed optimization
Robert Love [Tue, 28 May 2002 09:21:53 +0000 (02:21 -0700)]
[PATCH] set_cpus_allowed optimization

This adds an optimization to set_cpus_allowed: if the task is not
running, there is no sense in kicking the migration_threads into action,
we just need to update task->cpu.  This was suggested by Mike Kravetz.

Besides being an optimization, this would prevent any future race
between set_cpus_allowed and the migration_threads.

23 years ago[PATCH] documentation for the new scheduler
Robert Love [Tue, 28 May 2002 09:21:39 +0000 (02:21 -0700)]
[PATCH] documentation for the new scheduler

This adds documentation about the O(1) scheduler to Documentation/.  The
new scheduler is complicated and providing future scheduler hackers some
background seems a Good Thing to me.

Specifically:

- add Documentation/sched-coding.txt: an overview of the functions,
  magic numbers, and variables in the scheduler as well as (most
  importantly) a review of the locking semantics.

- add Documentation/sched-design.txt: an edited version of Ingo's
  initial email to lkml about his scheduler.  Goes over the design,
  implementation, and goals of the scheduler.  I tried to edit it where
  needed to bring it in line with the scheduler as it is today.

- modify kernel/sched.c: update your copyright and add a change entry
  for the new scheduler.

23 years ago[PATCH] trivial: no "error" on preempt_count notice
Robert Love [Tue, 28 May 2002 09:21:25 +0000 (02:21 -0700)]
[PATCH] trivial: no "error" on preempt_count notice

The attached trivial patch simply changes the printk debug statement in
do_exit when preempt_count!=0 to say "note" instead of "error" and log
at KERN_INFO in lieu of KERN_ERR.

I want to keep the message around a bit, but people get too paranoid
when things like nfsd legitimately exit with a preempt_count=1.

23 years agoPorted Voodoo3+ cards over to new api.
James Simmons [Tue, 28 May 2002 09:05:31 +0000 (02:05 -0700)]
Ported Voodoo3+ cards over to new api.

23 years agoMore changes for new fbdev subsytem.
James Simmons [Tue, 28 May 2002 07:53:28 +0000 (00:53 -0700)]
More changes for new fbdev subsytem.

23 years agoMerge Keith Whitwell's radeon ring-buffer updates
Linus Torvalds [Tue, 28 May 2002 03:48:39 +0000 (20:48 -0700)]
Merge Keith Whitwell's radeon ring-buffer updates

23 years agoMore drivers ported over to the new api. Also a bug fix in the software drawing image...
James Simmons [Tue, 28 May 2002 03:12:34 +0000 (20:12 -0700)]
More drivers ported over to the new api. Also a bug fix in the software drawing image routine.

23 years agoMerge
James Simmons [Tue, 28 May 2002 02:27:29 +0000 (19:27 -0700)]
Merge

23 years ago[PATCH] avoid sys_sync livelocks
Andrew Morton [Mon, 27 May 2002 12:15:03 +0000 (05:15 -0700)]
[PATCH] avoid sys_sync livelocks

This makes sure that sys_sync() will terminate.  It counts up the
number of dirty pages in the machine and will refuse to write out more
than 1.25 times this number of pages.  This function is called twice
on the sys_sync() path, so the kernel will actually write 2.5x the number
of initially-dirty pages before giving up.

23 years ago[PATCH] move nr_active and nr_inactive into per-CPU page
Andrew Morton [Mon, 27 May 2002 12:14:47 +0000 (05:14 -0700)]
[PATCH] move nr_active and nr_inactive into per-CPU page

It might reduce pagemap_lru_lock hold times a little, and is more
consistent.  I think all global page accounting is now inside
page_states[].

23 years ago[PATCH] factor common code in page_alloc.c
Andrew Morton [Mon, 27 May 2002 12:14:35 +0000 (05:14 -0700)]
[PATCH] factor common code in page_alloc.c

Factor out some similar code in page_alloc.c

23 years ago[PATCH] move BH_JBD out of buffer_head.h
Andrew Morton [Mon, 27 May 2002 12:14:22 +0000 (05:14 -0700)]
[PATCH] move BH_JBD out of buffer_head.h

For historical reasons, ext3 has a private BH state bit which has
global scope.  This patch moves it inside ext3.

23 years ago[PATCH] fix ext3 __FUNCTION__ warnings
Andrew Morton [Mon, 27 May 2002 12:14:11 +0000 (05:14 -0700)]
[PATCH] fix ext3 __FUNCTION__ warnings

Patch from Anton Blanchard which replaces

printk(KERN_FOO __FUNCTION__ ": msg");

with
printk(KERN_FOO "%s: msg", __FUNCTION__);

in ext3.

23 years ago[PATCH] generic_file_write() cleanup
Andrew Morton [Mon, 27 May 2002 12:13:58 +0000 (05:13 -0700)]
[PATCH] generic_file_write() cleanup

Fixes all the goto spaghetti in generic_file_write() and turns it into
something which humans can understand.

Andi tells me that gcc3 does a decent job of relocating blocks out of
line anyway.  This patch gives the compiler a helping hand with
appropriate use of likely() and unlikely().

23 years ago[PATCH] remove mem_map_t
Andrew Morton [Mon, 27 May 2002 12:13:43 +0000 (05:13 -0700)]
[PATCH] remove mem_map_t

Random cleanup: remove the mem_map_t typedef.  Just use 'struct page'
everywhere.

23 years ago[PATCH] dirsync
Andrew Morton [Mon, 27 May 2002 12:13:29 +0000 (05:13 -0700)]
[PATCH] dirsync

An implementation of directory-synchronous mounts.

I sent this out some months ago and it didn't generate a lot of
interest.  Later we had one of the usual cheery exchanges with Wietse
Venema (postfix development) and he agreed that directory synchronous
mounts were something that he could use, and that there was benefit in
implementing them in Linux.  If you choose to apply this I'll push the
2.4 patch.

Patch against e2fsprogs-1.26:
        http://www.zip.com.au/~akpm/linux/dirsync/e2fsprogs-1.26.patch

Patch against util-linux-2.11n:
        http://www.zip.com.au/~akpm/linux/dirsync/util-linux-2.11n.patch

The kernel patch includes implementations for ext2 and ext3. It's
pretty simple.

- When dirsync is in operation against a directory, the following operations
  are synchronous within that directory:  create, link, unlink, symlink,
  mkdir, rmdir, mknod, rename (synchronous if either the source or dest
  directory is dirsync).

- dirsync is a subset of sync.  So `mount -o sync' or `chattr +S'
  give you everything which `mount -o dirsync' or `chattr +D' gives,
  plus synchronous file writes.

- ext2's inode.i_attr_flags is unused, and is removed.

- mount /dev/foo /mnt/bar -o dirsync  works as expected.

- An ext2 or ext3 directory tree can be set dirsync with `chattr +D -R'.

- dirsync is maintained as new directories are created under
  a `chattr +D' directory.  Like `chattr +S'.

- Other filesystems can trivially be taught about dirsync.  It's just
  a matter of replacing `IS_SYNC(inode)' with `IS_DIRSYNC(inode)' in
  the directory update functions.  IS_SYNC will still be honoured when
  IS_DIRSYNC is used.

- Non-directory files do not have their dirsync flag propagated.  So
  an S_ISREG file which is created inside a dirsync directory will not
  have its dirsync bit set.  chattr needs to do this as well.

- There was a bit of version skew between e2fsprogs' idea of the
  inode flags and the kernel's.  That is sorted out here.

- `lsattr' shows the dirsync flag as "D".  The letter "D" was
  previously being used for Compressed_Dirty_File.  I changed
  Compressed_Dirty_File to use "Z".  Is that OK?

The mount(2) manpage needs to be taught about MS_DIRSYNC.

23 years ago[PATCH] rename writeback_mapping to writepages
Andrew Morton [Mon, 27 May 2002 12:13:14 +0000 (05:13 -0700)]
[PATCH] rename writeback_mapping to writepages

Spot the difference:

aops.readpage
aops.readpages
aops.writepage
aops.writeback_mapping

The patch renames `writeback_mapping' to `writepages'

23 years ago[PATCH] enable direct-to-BIO readahead for ext3
Andrew Morton [Mon, 27 May 2002 12:13:01 +0000 (05:13 -0700)]
[PATCH] enable direct-to-BIO readahead for ext3

Turn on multipage no-buffers reads for ext3.

23 years ago[PATCH] direct-to-BIO writeback
Andrew Morton [Mon, 27 May 2002 12:12:50 +0000 (05:12 -0700)]
[PATCH] direct-to-BIO writeback

Multipage BIO writeout from the pagecache.

It's pretty much the same as multipage reads.  It falls back to buffers
if things got complex.

The write case is a little more complex because it handles pages which
have buffers and pages which do not.  If the page didn't have buffers
this code does not add them.

23 years ago[PATCH] direct-to-BIO readahead
Andrew Morton [Mon, 27 May 2002 12:12:36 +0000 (05:12 -0700)]
[PATCH] direct-to-BIO readahead

Implements BIO-based multipage reads into the pagecache, and turns this
on for ext2.

CPU load for `cat large_file > /dev/null' is reduced by approximately
15%.  Similar reductions for tiobench with a single thread.  (Earlier
claims of 25% were exaggerated - they were measured with slab debug
enabled.  But 15% isn't bad for a load which is dominated by copy_*_user
costs).

With 2, 4 and 8 tiobench threads, throughput is increased as well, which was
unexpected.  It's due to request queue weirdness.  (Generally the
request queueing is doing bad things under certain workloads - that's a
separate issue.)

BIOs of up to 64 kbytes are assembled and submitted for readahead and
for single-page reads.  So the work involved in reading 32 pages has gone
from:

- allocate and attach 32 buffer_heads
- submit 32 buffer_heads
- allocate 32 bios
- submit 32 bios

to:

- allocate 2 bios
- submit 2 bios

These pages never have buffers attached.  Buffers will be attached
later if the application writes to these pages (file overwrite).

The first version of this code (in the "delayed allocation" patches)
tries to handle everything - bios which start mid-page, bios which end
mid-page and pages which are covered by multiple bios.  It is very
complex code and in fact appears to be incorrect: out-of-order BIO
completion could cause a page to come unlocked at the wrong time.

This implementation is much simpler: if things get complex, it just
falls back to the buffer-based block_read_full_page(), which isn't
going away, and which understands all that complexity.  There's no
point in doing this in two places.

This code will bypass the buffer layer for

 - fully-mapped pages which are on-disk contiguous.

 - fully unmapoped pages (holes)

 - partially unmapped pages, where the unmappedness is at the end of
   the page (end-of-file).

and everything else falls back to buffers.

This means that with blocksize == PAGE_CACHE_SIZE, 100% of pages are
handed direct to BIO.  With a heavy 10-minute dbench run on 4k
PAGE_CACHE_SIZE and 1k blocks, 95% of pages were handed direct to BIO.
Almost all of the other 5% were passed to block_read_full_page()
because they were already partially uptodate from an earlier sub-page
write().  This ratio will fall if PAGE_CACHE_SIZE/blocksize is greater
than four.  But if that's the case, CPU efficiency is far from the main
concern - there are significant seek and bandwidth problems just at 4
blocks per page.

This code will stress out the block layer somewhat - RAID0 doesn't like
multipage BIOs, and there are probably others.  RAID0 seems to struggle
along - readahead fails but read falls back to single-page reads, which
succeed.  Such problems may be worked around by setting MPAGE_BIO_MAX_SIZE
to PAGE_CACHE_SIZE in fs/mpage.c.

It is trivial to enable multipage reads for many other filesystems.  We
can do that after completion of external testing of ext2.

23 years ago[PATCH] relax nr_to_write requirements
Andrew Morton [Mon, 27 May 2002 12:12:22 +0000 (05:12 -0700)]
[PATCH] relax nr_to_write requirements

Relax the requirements on the writeback_mapping a_op.

This function is passed the number of pages which it should write.  The
current fs-writeback.c code will get confused if the address_space
writes back more pages than it was asked to.

With this change the address_space may write more pages than required
if that is convenient.  Extent-based fileystems may wish to do this.

23 years ago[PATCH] mark swapout pages PageWriteback()
Andrew Morton [Mon, 27 May 2002 12:12:08 +0000 (05:12 -0700)]
[PATCH] mark swapout pages PageWriteback()

Pages which are under writeout to swap are locked, and not
PageWriteback().  So page allocators do not throttle against them in
shrink_caches().

This causes enormous list scans and general coma under really heavy
swapout loads.

One fix would be to teach shrink_cache() to wait on PG_locked for swap
pages.  The other approach is to set both PG_locked and PG_writeback
for swap pages so they can be handled in the same manner as file-backed
pages in shrink_cache().

This patch takes the latter approach.

23 years ago[PATCH] fix loop driver for large BIOs
Andrew Morton [Mon, 27 May 2002 12:11:55 +0000 (05:11 -0700)]
[PATCH] fix loop driver for large BIOs

Fix bug in the loop driver.

When presented with a multipage BIO, loop is overindexing the first
page in the BIO rather than advancing to the second page.  It scribbles
on the backing file and/or on kernel memory.

This happens with multipage BIO-based pagecache I/O and presumably with
O_DIRECT also.

The fix is much-needed with the multipage-BIO patches - using that code
on loop-backed filesystems has rather messy results.

23 years ago[PATCH] ext3 set_page_dirty fix
Andrew Morton [Mon, 27 May 2002 12:11:44 +0000 (05:11 -0700)]
[PATCH] ext3 set_page_dirty fix

The set_page_dirty() in the ext3_writepage() failure path isn't right.
set_page_dirty() will alter buffer states - it's a "whole page"
dirtying.

__set_page_dirty_buffers() is emitting warnings when it refuses to set
dirty a non-uptodate buffer against a partially-mapped page.

All we want to do in there is to move the page back onto
mapping->dirty_pages, without altering the state of its buffers.

23 years ago[PATCH] block_truncate_page fix
Andrew Morton [Mon, 27 May 2002 12:11:29 +0000 (05:11 -0700)]
[PATCH] block_truncate_page fix

Fix bug in block_truncate_page().

When buffers are attached to an uptodate page, they are marked as
being uptodate.  To preserve buffer/page state coherency.  Dirtiness
is handled in the same way.

But block_truncate_page() assumes that a buffer which is unmapped and
uptodate is over a hole.  That's not the case, and the net effect is
that block_truncate_page() is failing to zero the block outside the
truncation point.

This only happens if the page has a disk mapping but has no attached
buffers on entry to block_truncate_page().  That's never the case in
current kernels, so the problem does not exhibit (it _does_ exhibit
with direct-to-BIO bypass-the-buffers I/O).

There are actually three possible states of buffer mappedness:

- Buffer has a disk mapping            (buffer_mapped(bh) == true)

- buffer is over a hole                (buffer_mapped(bh) == false)

- don't know.  Need to run get_block() (buffer_mapped(bh) == false)

This ambiguity could be resolved by added another buffer state bit
(BH_mapping_state_known?) but given that we already elide the get_block
calls for the common case (buffer outside i_size) it is unlikely that
the complexity is worthwhile.

23 years ago[PATCH] small fixes in buffer.c
Andrew Morton [Mon, 27 May 2002 12:11:16 +0000 (05:11 -0700)]
[PATCH] small fixes in buffer.c

- Fix the fix to the fix to the sector_t printing in buffer_io_error()

- A few microoptimisations in buffer.c.  Replace:

set_buffer_foo(bh);

  with

if (!buffer_foo(bh))
set_buffer_foo(bh);

  when buffer_fooness is likely.  To avoid the buslocked rmw, and to
  avoid dirtying a cacheline.

- export write_mapping_buffers() - filesystems which put buffers on
  mapping->private_list need this function for I/O scheduling reasons.

23 years ago[PATCH] MAINTAINERS file addition: Al Viro
Rusty Russell [Mon, 27 May 2002 05:02:44 +0000 (22:02 -0700)]
[PATCH] MAINTAINERS file addition: Al Viro

I'm sick of searching my mail archives to find that email addr.

23 years ago[PATCH] net/ipv4/ipconfig.c minor fix
Frank Davis [Mon, 27 May 2002 05:02:30 +0000 (22:02 -0700)]
[PATCH] net/ipv4/ipconfig.c minor fix

Hello all,
    The following patch fixes two compile warnings 'defined but not used'.
Since the label and int are only used for IPCONFIG_DYNAMIC, appropriate
fixes were made to remove the warnings.

23 years ago[PATCH] check_region cleanup from drivers/char/ip2main.c
Rusty Russell [Mon, 27 May 2002 05:02:16 +0000 (22:02 -0700)]
[PATCH] check_region cleanup from drivers/char/ip2main.c

johnpol@2ka.mipt.ru: 40) request_region check, 31-40:
  You say, i'm frezy :)

   Evgeniy Polyakov ( s0mbre )

23 years ago[PATCH] exit path cleanup in drivers/cdrom/sonycd535.c
Rusty Russell [Mon, 27 May 2002 05:02:04 +0000 (22:02 -0700)]
[PATCH] exit path cleanup in drivers/cdrom/sonycd535.c

johnpol@2ka.mipt.ru: 30) request_region check, 21-30:
  here is one more trivial check.

   Evgeniy Polyakov ( s0mbre )

23 years ago[PATCH] irq.h comment fix
Rusty Russell [Mon, 27 May 2002 05:01:52 +0000 (22:01 -0700)]
[PATCH] irq.h comment fix

Tim Schmielau <tim@physik3.uni-rostock.de>: trivial irq.h comment fix:

  Now THIS is a trivial patch: (though admittedly quite useless;-)

  include/linux/irq.h starts with
    #ifndef __irq_h
  but ends with a comment
    #endif /* __asm_h */

  Tim

23 years ago[PATCH] jiffies.h includes asm/param.h
Rusty Russell [Mon, 27 May 2002 05:01:37 +0000 (22:01 -0700)]
[PATCH] jiffies.h includes asm/param.h

Tim Schmielau <tim@physik3.uni-rostock.de>: provide HZ from jiffies.h:
  Most files that include <jiffies.h> also need HZ defined, which is
  quite reasonable. So don't require the to include <asm/param.h>
  themselves.

23 years ago[PATCH] Alpha macro standardize
Rusty Russell [Mon, 27 May 2002 05:01:23 +0000 (22:01 -0700)]
[PATCH] Alpha macro standardize

Rusty Russell <rusty@rustcorp.com.au>: Trivial ALPHA patch to remove minmax macros:
  Change over to standard max and ALIGN macros.

23 years ago[PATCH] ppc chrp/start.c warnings removal
Rusty Russell [Mon, 27 May 2002 05:01:11 +0000 (22:01 -0700)]
[PATCH] ppc chrp/start.c warnings removal

Rusty Russell <rusty@rustcorp.com.au>: Finally squish those chrp_start.c warnings:
  They finally irritated me enough to patch.  2.5, should apply against 2.4.

23 years ago[PATCH] do_mounts warning removal
Rusty Russell [Mon, 27 May 2002 05:00:59 +0000 (22:00 -0700)]
[PATCH] do_mounts warning removal

Peter Chubb <peter@chubb.wattle.id.au>: Fix compilation warning in do_mounts.c:

   change_floppy() is unused if you don't have the floppy device
  compiled into the kernel --- so why not #ifdef it out?

23 years ago[PATCH] ppc spinlock warning removal
Rusty Russell [Mon, 27 May 2002 05:00:46 +0000 (22:00 -0700)]
[PATCH] ppc spinlock warning removal

Rusty Russell <rusty@rustcorp.com.au>: 2.5.17 Warning removal for ppc:
  test_and_set_bit now expect an "unsigned long", so we want
  &spinlock->lock rather than &spinlock (even though they are
  equivalent).

  Rusty.

23 years ago[PATCH] vmscan.c tidy up
Rusty Russell [Mon, 27 May 2002 05:00:33 +0000 (22:00 -0700)]
[PATCH] vmscan.c tidy up

(Included in 2.4)
Pavel Machek <pavel@ucw.cz>: trivial: vmscan extra {}s:
  Hi!

  Extra { } look ugly, too, they are not consistant with rest of code and I introduced them :-(

23 years ago[PATCH] CREDITS sort order
Rusty Russell [Mon, 27 May 2002 05:00:19 +0000 (22:00 -0700)]
[PATCH] CREDITS sort order

(Included in 2.2)
Pavel Machek <pavel@ucw.cz>: CREDITS not sorted properly:
  Hi!

  Please apply,
   Pavel

23 years ago[PATCH] dcache.c spelling
Rusty Russell [Mon, 27 May 2002 05:00:04 +0000 (22:00 -0700)]
[PATCH] dcache.c spelling

Dan Aloni <da-x@gmx.net>: fs_dcache.c - typo:

23 years ago[PATCH] semctl SUSv2 compliance
Rusty Russell [Mon, 27 May 2002 04:59:52 +0000 (21:59 -0700)]
[PATCH] semctl SUSv2 compliance

Christopher Yeoh <cyeoh@samba.org>: (Made -p1 compliant by rusty) SUSv2 semctl compliance:

  The semctl call with SETVAL currently does not set sempid (at the
  moment sempid is only set during a successful semop call). An
  explanation from Geoff Clare of the Open Group regarding why sempid
  should be set during the semctl call:

  "The spec isn't very clear, but there is a statement on the semget()
  page which I think justifies the assumption made by the test.  It says
  that upon creation, the data structure associated with each semaphore
  in the set is not initialised, and that the semctl() function with
  SETVAL or SETALL can be used to initialise each semaphore.

  Therefore semctl() with SETVAL has to set sempid to *something*, and
  since sempid contains the "process ID of the last operation", setting
  it to anything other than the pid of the calling process would mean
  that sempid contained misleading information.  It could be argued that
  setting it to zero would not be misleading, but zero cannot be the
  process ID of a process, and so is not a valid value for sempid anyway."

  The following patch changes semctl so when called with SETVAL
  sempid is set to the pid of the calling process:

23 years ago[PATCH] xconfig fix
Rusty Russell [Mon, 27 May 2002 04:59:37 +0000 (21:59 -0700)]
[PATCH] xconfig fix

Alexander.Riesen@synopsys.com: xconfig for tulip subsection:
  fixes broken xconfig for tulip drivers.

  P.S. Why the double quotes in comment break it?

23 years ago[PATCH] autofs_wqt_t for ppc64
Rusty Russell [Mon, 27 May 2002 04:59:24 +0000 (21:59 -0700)]
[PATCH] autofs_wqt_t for ppc64

Anton Blanchard <anton@samba.org>: Fix autofs on ppc64:

  Define autofs_wqt_t to be an int on ppc64, just like the other mixed
  32/64 bit archs do.

23 years ago[PATCH] 2.5.18 IDE 71
Martin Dalecki [Mon, 27 May 2002 04:20:34 +0000 (21:20 -0700)]
[PATCH] 2.5.18 IDE 71

 - Rewritten Artop host chip driver by Vojtech Pavlik. His log entries are:

   Cleanup whitespace.

   Remove superfluous chip entries in chip table.  Remove global variables to
   allow more than one controller.  Remove other forgotten stuff.

   This is a new driver for the Artop (Acard) controllers. It's completely
   untested, as I have never seen the hardware. However, I suspect it is much
   less broken than the previous one ...

   UDMA33 controller cannot detect 80-wire cable.

 - Separate ioctl handling out from ide.c. It's big enough.

 - Move atapi_read and atapi_write to the new atapi module.  Fix the declaration
   of those functions. The data buffer did have the void * type!

 - Separate module handling code out from actual transfer handling code in to a
   new module called main.c. Slowly we are at the stage where the code indeed
   has to be organized logically and not just "sporadically" as was the case
   before.

 - Apply patch by Adam Richter for the ide-scsi.c attach method implementation.
   This particular driver is still broken due to generic SCSI layer issues.

 - Apply true modularization patch for qd65xx.c by Samuel Thibault. Here
   are his notes about it:

   Then, patch-modularize-2.[45] is a proposal for modularizing qd65xx.o. As a
   single module, one can choose to insmod it before being able to do some
   hdparm -p /dev/hd[a-d]. But one can't remove it while tuned, since selectproc
   may be needed.

   I am sorry I wasn't able to test it under 2.5 series, lacking a functionning
   kernel for my test computer, but it seemed to work perfectly under 2.4
   series, and patches are almost the same.

 - Move PCI device id's to where they belong. Patch by Vojtech Pavlik.

 - Don't use BH_Lock in ide-tape.c - somehow this driver scares me sometimes.

23 years ago[PATCH] block documentation updates
Jens Axboe [Mon, 27 May 2002 04:18:57 +0000 (21:18 -0700)]
[PATCH] block documentation updates

o Add 'tag' to request.txt doc
o Add bio design etc discussions

23 years agoFix mmap cornercase with wrong return value for invalid "len".
Linus Torvalds [Mon, 27 May 2002 04:18:34 +0000 (21:18 -0700)]
Fix mmap cornercase with wrong return value for invalid "len".

23 years agoMerge http://linux-isdn.bkbits.net/linux-2.5.isdn
Linus Torvalds [Sun, 26 May 2002 10:56:06 +0000 (03:56 -0700)]
Merge http://linux-isdn.bkbits.net/linux-2.5.isdn
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoISDN/CAPI: Export callbacks for CAPI drivers directly
Kai Germaschewski [Sun, 26 May 2002 06:49:52 +0000 (01:49 -0500)]
ISDN/CAPI: Export callbacks for CAPI drivers directly

They're always the same, so no point in using function pointers.

23 years agoISDN/CAPI: Remove struct capi_driver
Kai Germaschewski [Sat, 25 May 2002 19:34:21 +0000 (14:34 -0500)]
ISDN/CAPI: Remove struct capi_driver

We rather keep it simple, everything we need is in struct
capi_ctr.

23 years agoISDN/CAPI: Move methods from capi_driver to capi_ctr
Kai Germaschewski [Sat, 25 May 2002 18:36:31 +0000 (13:36 -0500)]
ISDN/CAPI: Move methods from capi_driver to capi_ctr

23 years agoISDN/CAPI: Have hardware driver alloc struct capi_drv
Kai Germaschewski [Sat, 25 May 2002 18:04:26 +0000 (13:04 -0500)]
ISDN/CAPI: Have hardware driver alloc struct capi_drv

The hardware driver needs to alloc mem anyway, and now can
fill in fields before registering with the CAPI layer.

Basically the same way struct net_device is handled.

23 years agoISDN: CAPI: Remove unused capi_driver::driver_read_proc
Kai Germaschewski [Sat, 25 May 2002 17:25:03 +0000 (12:25 -0500)]
ISDN: CAPI: Remove unused capi_driver::driver_read_proc

In case a driver really wants to put some useful info into
/proc/capi/driver, it could create the proc entry directly.

23 years agoISDN/CAPI: Cleanup /proc/capi
Kai Germaschewski [Sat, 25 May 2002 17:22:52 +0000 (12:22 -0500)]
ISDN/CAPI: Cleanup /proc/capi

o Move /proc handling to a file of its own
o Use <linux/seq_file.h>

23 years agoMerge http://kernel-acme.bkbits.net:8080/rio-2.5-cleanups
Linus Torvalds [Sat, 25 May 2002 14:21:04 +0000 (07:21 -0700)]
Merge http://kernel-acme.bkbits.net:8080/rio-2.5-cleanups
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agodrivers/char/rio/rio_linux.c
Arnaldo Carvalho de Melo [Sat, 25 May 2002 20:43:37 +0000 (17:43 -0300)]
drivers/char/rio/rio_linux.c

- Remove SCO compatibility trick in rio_fw_ioctl, i.e., riocontrol was returning non
          negative errors, now it is, so no need to turn it negative in rio_fw_ioctl. Thanks
          to Rogier Wolff for pointing this out.

23 years agoMerge http://linux-isdn.bkbits.net/linux-2.5.make
Linus Torvalds [Sat, 25 May 2002 11:40:30 +0000 (04:40 -0700)]
Merge http://linux-isdn.bkbits.net/linux-2.5.make
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agodrivers/video/matrox/matroxfb_accel.c: Explicitly export symbols.
Kai Germaschewski [Sat, 25 May 2002 15:17:37 +0000 (10:17 -0500)]
drivers/video/matrox/matroxfb_accel.c: Explicitly export symbols.

So I missed at least one file which still relied on implicitly exporting
symbols. Now fixed.

23 years ago[PATCH] 2.5.18: Fix ramdisk
Russell King [Sat, 25 May 2002 10:17:28 +0000 (03:17 -0700)]
[PATCH] 2.5.18: Fix ramdisk

The following allows the ramdisk to work on 2.5.18; maybe we need a
comment in do_open() ?

23 years ago[PATCH] Fix the handling of dentry on msdos_lookup() (1/4)
Hirofumi Ogawa [Sat, 25 May 2002 03:31:46 +0000 (20:31 -0700)]
[PATCH] Fix the handling of dentry on msdos_lookup() (1/4)

If d_splice_alias() doesn't find the alias dentry, it returns NULL.
Then, msdos_lookup() dereference the NULL, and Oopses. Fixed here.

The vfat_lookup() part is cleanup only.

23 years agokbuild: Use consistently FORCE instead of dummy
Kai Germaschewski [Fri, 24 May 2002 21:38:53 +0000 (16:38 -0500)]
kbuild: Use consistently FORCE instead of dummy

FORCE is the de-facto standard name for a prequisite to force
recompilation, so instead of using a mix of 'dummy','FORCE' and
'FORCE_RECOMPILE' use 'FORCE' everywhere.

Also, move figuring out the path relative to the top level dir
into Rules.make, instead of calling an external script.

23 years agokbuild: Simplify rule for just building one subdir
Kai Germaschewski [Fri, 24 May 2002 21:01:56 +0000 (16:01 -0500)]
kbuild: Simplify rule for just building one subdir

It's possible to say "make <subdir>", to descend into that subdir
and recursively build things there. This patch provides this
facility generally without the arch Makefiles needing to duplicate
it for arch/$(ARCH)/somedir.

23 years agokbuild: Figure out flags independently from pass
Kai Germaschewski [Fri, 24 May 2002 20:45:08 +0000 (15:45 -0500)]
kbuild: Figure out flags independently from pass

We now have the information which objects are being built
modular / built-in in Rules.make, so use this information instead
of passing flags to the sub makes.

23 years agoia64: Sync up with 2.5.18.
David Mosberger [Fri, 24 May 2002 18:05:11 +0000 (11:05 -0700)]
ia64: Sync up with 2.5.18.

23 years agoia64: Sync up with 2.5.17 tree.
David Mosberger [Fri, 24 May 2002 16:45:11 +0000 (09:45 -0700)]
ia64: Sync up with 2.5.17 tree.

23 years agoMerge tiger.hpl.hp.com:/data1/bk/vanilla/linux-2.5
David Mosberger [Fri, 24 May 2002 16:22:48 +0000 (09:22 -0700)]
Merge tiger.hpl.hp.com:/data1/bk/vanilla/linux-2.5
into tiger.hpl.hp.com:/data1/bk/lia64/to-linus-2.5

23 years ago[PATCH] ia64: Don't assume out registers are preserved across call to
Alberto Munoz [Fri, 24 May 2002 12:06:00 +0000 (05:06 -0700)]
[PATCH] ia64: Don't assume out registers are preserved across call to
ia64_switch_mode().

23 years ago[PATCH] ia64: Perfmon update.
Stéphane Eranian [Fri, 24 May 2002 11:45:43 +0000 (04:45 -0700)]
[PATCH] ia64: Perfmon update.

23 years agoUpdate kernel version v2.5.18
Linus Torvalds [Fri, 24 May 2002 11:43:59 +0000 (04:43 -0700)]
Update kernel version

23 years agoManual merge
Linus Torvalds [Fri, 24 May 2002 11:23:29 +0000 (04:23 -0700)]
Manual merge

23 years agokbuild: Fix some issues I missed before
Kai Germaschewski [Fri, 24 May 2002 14:50:40 +0000 (09:50 -0500)]
kbuild: Fix some issues I missed before

Didn't get the net/ conversion quite right, and apparently overlooked
one subdir in sound/. Now fixed.

23 years agokbuild: Use standard multi-part object declaration in net/*
Kai Germaschewski [Fri, 24 May 2002 13:33:48 +0000 (08:33 -0500)]
kbuild: Use standard multi-part object declaration in net/*

23 years agokbuild: Use standard multi-part object declaration in fs/*
Kai Germaschewski [Fri, 24 May 2002 13:25:54 +0000 (08:25 -0500)]
kbuild: Use standard multi-part object declaration in fs/*

23 years agokbuild: Use standard multi-part object declaration in lib/*
Kai Germaschewski [Fri, 24 May 2002 13:16:45 +0000 (08:16 -0500)]
kbuild: Use standard multi-part object declaration in lib/*

23 years agokbuild: Beautify ACPI Makefiles
Kai Germaschewski [Fri, 24 May 2002 12:53:07 +0000 (07:53 -0500)]
kbuild: Beautify ACPI Makefiles

23 years agokbuild: Simplify linking subdirs in drivers/*/Makefile
Kai Germaschewski [Fri, 24 May 2002 12:44:14 +0000 (07:44 -0500)]
kbuild: Simplify linking subdirs in drivers/*/Makefile

Use the new

obj-$(CONFIG_FOO) += foo/

syntax to descend into a subdir and link in the result, if
CONFIG_FOO=y.

23 years agokbuild: Correct dependencies for generated soundmodem tables
Kai Germaschewski [Fri, 24 May 2002 12:31:29 +0000 (07:31 -0500)]
kbuild: Correct dependencies for generated soundmodem tables

Build the headers only when we need them during the build, not always
at 'make dep' time.

23 years agokbuild: Remove usage of L_TARGET in drivers/*
Kai Germaschewski [Fri, 24 May 2002 12:29:22 +0000 (07:29 -0500)]
kbuild: Remove usage of L_TARGET in drivers/*

We use O_TARGET everywhere else, so let's just convert the remaining
users (They get the implicit built-in.o O_TARGET now)

23 years agokbuild: Clean up sound/*/Makefile
Kai Germaschewski [Fri, 24 May 2002 12:18:18 +0000 (07:18 -0500)]
kbuild: Clean up sound/*/Makefile

23 years agokbuild: Remove now redundant 'O_TARGET := built-in.o' lines
Kai Germaschewski [Fri, 24 May 2002 12:13:47 +0000 (07:13 -0500)]
kbuild: Remove now redundant 'O_TARGET := built-in.o' lines

(plus a bit of rearranging in the ISDN Makefiles)

23 years agokbuild: Make O_TARGET default to 'built-in.o'
Kai Germaschewski [Fri, 24 May 2002 12:12:37 +0000 (07:12 -0500)]
kbuild: Make O_TARGET default to 'built-in.o'

If a Makefile defines neither O_TARGET nor L_TARGET, let's assume a
default of 'built-in.o'. The goal of this is, of course, to eventually
get rid of O_TARGET completely.

23 years ago[PATCH] kdev_t -> bdev cleanups [2/2]
Alexander Viro [Fri, 24 May 2002 10:32:15 +0000 (03:32 -0700)]
[PATCH] kdev_t -> bdev cleanups [2/2]

 - move the contents of bdev_get_queue() into do_open() and
   check_partitions() and cache the result in new field of struct
   block_device

 - clean it at the same places that reset ->bd_op, etc.

 - make bdev_get_queue() return cached pointer.

23 years agoUndo block devices changes from floppy fix: incorrect.
Linus Torvalds [Fri, 24 May 2002 10:31:49 +0000 (03:31 -0700)]
Undo block devices changes from floppy fix: incorrect.

23 years ago[PATCH] kdev_t -> bdev cleanups [1/2]
Alexander Viro [Fri, 24 May 2002 10:25:46 +0000 (03:25 -0700)]
[PATCH] kdev_t -> bdev cleanups [1/2]

 - kill the last caller of get_hardsect_size() (switching it to
   bdev_hardsect_size()).

 - kill blk_get_queue() and switching to bdev_get_queue()

23 years agoMerge http://kernel-acme.bkbits.net:8080/rio-2.5-cleanups
Linus Torvalds [Fri, 24 May 2002 08:19:17 +0000 (01:19 -0700)]
Merge http://kernel-acme.bkbits.net:8080/rio-2.5-cleanups
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agodrivers/char/rio/*.c
Arnaldo Carvalho de Melo [Fri, 24 May 2002 16:04:08 +0000 (13:04 -0300)]
drivers/char/rio/*.c

  - make sure return codes are negative (i.e. return -ENOMEM and not return ENOMEM et al)

23 years agoMerge bk://bk.arm.linux.org.uk
Linus Torvalds [Fri, 24 May 2002 08:17:12 +0000 (01:17 -0700)]
Merge bk://bk.arm.linux.org.uk
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoMerge http://linux-isdn.bkbits.net/linux-2.5.misc
Linus Torvalds [Fri, 24 May 2002 08:15:20 +0000 (01:15 -0700)]
Merge http://linux-isdn.bkbits.net/linux-2.5.misc
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoAdd missing includes
Kai Germaschewski [Fri, 24 May 2002 11:40:48 +0000 (06:40 -0500)]
Add missing includes

Fixes a warning in ieee1394_types.h and an error in include/linux/usb.h

23 years agoMerge tp1.ruhr-uni-bochum.de:/home/kai/kernel/v2.5/linux-2.5
Kai Germaschewski [Fri, 24 May 2002 11:21:51 +0000 (06:21 -0500)]
Merge tp1.ruhr-uni-bochum.de:/home/kai/kernel/v2.5/linux-2.5
into tp1.ruhr-uni-bochum.de:/home/kai/kernel/v2.5/linux-2.5.misc

23 years agoFix up more headers to make the drm merge compile more cleanly
Linus Torvalds [Fri, 24 May 2002 07:34:01 +0000 (00:34 -0700)]
Fix up more headers to make the drm merge compile more cleanly

23 years agoMerge heisenberg.transvirtual.com:/tmp/linus-2.5
James Simmons [Fri, 24 May 2002 06:32:02 +0000 (23:32 -0700)]
Merge heisenberg.transvirtual.com:/tmp/linus-2.5
into heisenberg.transvirtual.com:/tmp/fbdev-2.5

23 years agoMerge
Linus Torvalds [Fri, 24 May 2002 04:56:37 +0000 (21:56 -0700)]
Merge

23 years ago[PATCH] swsusp fixes
Pavel Machek [Fri, 24 May 2002 04:55:13 +0000 (21:55 -0700)]
[PATCH] swsusp fixes

This kills unneccessary include from ide-disk.c, kills #ifdef from
reiserfs/journal.c, makes suspend_device local as it should be,
abstains from suspending devices two times in a row (typo), and makes
sure we do not run_task_queue() while we hold spinlock.

23 years ago[PATCH] swsusp: making myself maintainer
Pavel Machek [Fri, 24 May 2002 04:44:55 +0000 (21:44 -0700)]
[PATCH] swsusp: making myself maintainer

I asked Gabor if he'd like me to maintain swsusp, and he liked that
idea [<quote>Would you please take over maintaining? I offered this in
the list a while ago anyway.</quote>].