]> git.hungrycats.org Git - linux/log
linux
22 years ago[PATCH] sn: Kill nag.h
Andrew Morton [Mon, 19 Jan 2004 02:45:07 +0000 (18:45 -0800)]
[PATCH] sn: Kill nag.h

From: Pat Gefre <pfg@sgi.com>

Kill nag.h

22 years ago[PATCH] sn: serial update
Andrew Morton [Mon, 19 Jan 2004 02:44:57 +0000 (18:44 -0800)]
[PATCH] sn: serial update

From: Pat Gefre <pfg@sgi.com>
      Jesse Barnes <jbarnes@tomahawk.engr.sgi.com>

22 years ago[PATCH] sn: remove unused enum
Andrew Morton [Mon, 19 Jan 2004 02:44:48 +0000 (18:44 -0800)]
[PATCH] sn: remove unused enum

From: Pat Gefre <pfg@sgi.com>

remove unused enum

22 years ago[PATCH] sn: kill $Id$
Andrew Morton [Mon, 19 Jan 2004 02:44:40 +0000 (18:44 -0800)]
[PATCH] sn: kill $Id$

From: Pat Gefre <pfg@sgi.com>

kill $Id$

22 years ago[PATCH] sn: kill big endian stuff
Andrew Morton [Mon, 19 Jan 2004 02:44:30 +0000 (18:44 -0800)]
[PATCH] sn: kill big endian stuff

From: Pat Gefre <pfg@sgi.com>

kill big endian stuff

22 years ago[PATCH] sn: namespace cleanup: ioerror_dump->sn_ioerror_dump
Andrew Morton [Mon, 19 Jan 2004 02:44:21 +0000 (18:44 -0800)]
[PATCH] sn: namespace cleanup: ioerror_dump->sn_ioerror_dump

From: Pat Gefre <pfg@sgi.com>

namespace cleanup: ioerror_dump->sn_ioerror_dump

22 years ago[PATCH] sn: copyright update
Andrew Morton [Mon, 19 Jan 2004 02:44:12 +0000 (18:44 -0800)]
[PATCH] sn: copyright update

From: Pat Gefre <pfg@sgi.com>

copyright update

22 years ago[PATCH] sn: Some hwgraph code clean up
Andrew Morton [Mon, 19 Jan 2004 02:44:03 +0000 (18:44 -0800)]
[PATCH] sn: Some hwgraph code clean up

From: Pat Gefre <pfg@sgi.com>

Some hwgraph code clean up

22 years ago[PATCH] const vs. __attribute__((const)) confusion
Andrew Morton [Mon, 19 Jan 2004 02:43:54 +0000 (18:43 -0800)]
[PATCH] const vs. __attribute__((const)) confusion

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

Declaring a function to return a const scalar value is pretty meaningless.
These functions are really trying to say that they don't alter any external
state.

Fix that up by using __attribute__((const)), if the compiler supports that.

22 years ago[PATCH] s390: endless loop in follow_page.
Andrew Morton [Mon, 19 Jan 2004 02:43:46 +0000 (18:43 -0800)]
[PATCH] s390: endless loop in follow_page.

From: Martin Schwidefsky <schwidefsky@de.ibm.com>

Fix endless loop in get_user_pages() on s390.  It happens only on s/390
because pte_dirty always returns 0.  For all other architectures this is an
optimization.

In the case of "write && !pte_dirty(pte)" follow_page() returns NULL.  On all
architectures except s390 handle_pte_fault() will then create a pte with
pte_dirty(pte)==1 because write_access==1.  In the following, second call to
follow_page() all is fine.  With the physical dirty bit patch pte_dirty() is
always 0 for s/390 because the dirty bit doesn't live in the pte.

22 years ago[PATCH] s390: superflous flush_tlb_range calls.
Andrew Morton [Mon, 19 Jan 2004 02:43:37 +0000 (18:43 -0800)]
[PATCH] s390: superflous flush_tlb_range calls.

From: Martin Schwidefsky <schwidefsky@de.ibm.com>

while searching for a s390 tlb flush problem I noticed some superflous tlb
flushes.  One in zeromap_page_range, one in remap_page_range, and another one
in filemap_sync.  The patch just adds comments but I think these three
flush_tlb_range calls can be removed.

22 years ago[PATCH] rmap page refcounting simplification
Andrew Morton [Mon, 19 Jan 2004 02:43:28 +0000 (18:43 -0800)]
[PATCH] rmap page refcounting simplification

From: Martin Schwidefsky <schwidefsky@de.ibm.com>

Ok, its just the revert of the page_cache_release delta.

22 years ago[PATCH] s390: rmap optimization.
Andrew Morton [Mon, 19 Jan 2004 02:43:19 +0000 (18:43 -0800)]
[PATCH] s390: rmap optimization.

From: Martin Schwidefsky <schwidefsky@de.ibm.com>

while working on my mm patch for s390 I played with rmap a bit, adding
BUG statements and the like. While doing so I noticed some room for
improvement in rmap. Its minor stuff but anyway...

The first observation is that the pte chain array doesn't have holes,
meaning that from the pte_chain_idx() of the first array every slot of
all following pte chain arrays are full. That is there can't be NULL
pointers. The "if (!pte_paddr)" check in try_to_unmap() can be removed
and if the loop in page_referenced() is started from pte_chain_idx(pc)
then the "if (!pte_paddr)" in page_referenced() can be removed as well.

The second observation is that the first pte array of a pte chain has
at least one entry. Empty pte chain arrays are always freed immediatly
after the last entry was removed. Because of that victim_i can be
calculated in a simpler way. Instead of setting victim_i to -1 and then
check in each loop iteration against -1 victim_i can just be set to
the pte_chain_idx of the first pte chain array.

22 years ago[PATCH] s390: tlb flush race.
Andrew Morton [Mon, 19 Jan 2004 02:43:11 +0000 (18:43 -0800)]
[PATCH] s390: tlb flush race.

From: Martin Schwidefsky <schwidefsky@de.ibm.com>

I think I found a potential race in install_page/install_file_pte. The
inline function zap_pte releases pages by calling page_remove_rmap and
page_cache_release.  If this was the last user of a page it can get
purged from the page cache and then get immediatly reused. But there
might still be a tlb for this page on another cpu. The tlb is removed
in the callers of zap_pte, install_page and install_file_pte, but this
is too late. I admit that its a very unlikely race but never the less..

I fixed this by using the new ptep_clear_flush function that is introduced
with the tlb flush optimization patch for s/390.

22 years ago[PATCH] s390: physical dirty/referenced bits.
Andrew Morton [Mon, 19 Jan 2004 02:43:03 +0000 (18:43 -0800)]
[PATCH] s390: physical dirty/referenced bits.

From: Martin Schwidefsky <schwidefsky@de.ibm.com>

this is another s/390 related mm patch. It introduces the concept of
physical dirty and referenced bits into the common mm code. I always
had the nagging feeling that the pte functions for setting/clearing
the dirty and referenced bits are not appropriate for s/390. It works
but it is a bit of a hack.
After the wake of rmap it is now possible to put a much better solution
into place. The idea is simple: since there are not dirty/referenced
bits in the pte make these function nops on s/390 and add operations
on the physical page to the appropriate places. For the referenced bit
this is the page_referenced() function. For the dirty bit there are
two relevant spots: in page_remove_rmap after the last user of the
page removed its reverse mapping and in try_to_unmap after the last
user was unmapped. There are two new functions to accomplish this:

 * page_test_and_clear_dirty: Test and clear the dirty bit of a
   physical page. This function is analog to ptep_test_and_clear_dirty
   but gets a struct page as argument instead of a pte_t pointer.

 * page_test_and_clear_young: Test and clear the referenced bit
   of a physical page. This function is analog to ptep_test_and_clear_young
   but gets a struct page as argument instead of a pte_t pointer.

Its pretty straightforward and with it the s/390 mm makes much more
sense. You'll need the tls flush optimization patch for the patch.
Comments ?

22 years ago[PATCH] s390: tlb flush optimization.
Andrew Morton [Mon, 19 Jan 2004 02:42:53 +0000 (18:42 -0800)]
[PATCH] s390: tlb flush optimization.

From: Martin Schwidefsky <schwidefsky@de.ibm.com>

On the s/390 architecture we still have the issue with tlb flushing and the
ipte instruction.  We can optimize the tlb flushing a lot with some minor
interface changes between the arch backend and the memory management core.
In the end the whole thing is about the Invalidate Page Table Entry (ipte)
instruction.  The instruction sets the invalid bit in the pte and removes the
tlb for the page on all cpus for the virtual to physical mapping of the page
in a particular address space.  The nice thing is that only the tlb for this
page gets removed, all the other tlbs stay valid.  The reason we can't use
ipte to implement flush_tlb_page() is one of the requirements of the
instruction: the pte that should get flushed needs to be *valid*.

I'd like to add the following four functions to the mm interface:

  * ptep_establish: Establish a new mapping. This sets a pte entry to a
    page table and flushes the tlb of the old entry on all cpus if it
    exists. This is more or less what establish_pte in mm/memory.c does
    right now but without the update_mmu_cache call.

  * ptep_test_and_clear_and_flush_young. Do what ptep_test_and_clear_young
    does and flush the tlb.

  * ptep_test_and_clear_and_flush_dirty. Do what ptep_test_and_clear_dirty
    does and flush the tlb.

  * ptep_get_and_clear_and_flush: Do what ptep_get_and_clear does and
    flush the tlb.

The s/390 specific functions in include/pgtable.h define their own optimized
version of these four functions by use of the ipte.

I avoid the definition of these function for every architecture I added them
to include/asm-generic/pgtable.h.  Since i386/x86 and others don't include
this header yet and define their own version of the functions found there I
#ifdef'd all functions in include/asm-generic/pgtable.h to be able to pick
the ones that are needed for each architecture (see patch for details).

With the new functions in place it is easy to do the optimization, e.g.  the
sequence

         ptep_get_and_clear(ptep);
         flush_tlb_page(vma, address);

gets replace by

         ptep_get_and_clear_and_flush(vma, address, ptep);

The old sequence still works but it is suboptimal on s/390.

22 years ago[PATCH] s390: 32 bit ioctl emulation fixes.
Andrew Morton [Mon, 19 Jan 2004 02:42:44 +0000 (18:42 -0800)]
[PATCH] s390: 32 bit ioctl emulation fixes.

From: Martin Schwidefsky <schwidefsky@de.ibm.com>

- audit all 32 bit pointer accesses and make them use compat_ioctl(),
  because of the necessary conversion on s390
- introduce ULONG_IOCTL() which is used instead of COMPATIBLE_IOCTL()
  for all ioctls that have their argument encoded in 'arg' instead
  of the memory pointed to by arg. Same reason as above.
- remove most #ifdefs in <linux/compat_ioctl.h>: They don't make
  any sense if the respective handlers in fs/compat_ioctl.c are
  not disabled as well and they are potentially harmful (the
  CONFIG_BLK_DEV_DM e.g. was insufficient).
- comment out  COMPATIBLE_IOCTL(SIOCSIFBR) and
  COMPATIBLE_IOCTL(SIOCGIFBR), they appear to require a handler
- implement copy_in_user for s390, as needed for many handlers in
  fs/compat_ioctl.c
- get rid of all duplicate stuff in arch/s390/kernel/compat_ioctl.c
  that is also in fs/compat_ioctl.c

22 years ago[PATCH] s390: 32 bit emulation fixes.
Andrew Morton [Mon, 19 Jan 2004 02:42:36 +0000 (18:42 -0800)]
[PATCH] s390: 32 bit emulation fixes.

From: Martin Schwidefsky <schwidefsky@de.ibm.com>

 - Add emulation for sys_fadvise64 and sys_fadvise64_64.
 - Use common code wrapper for sys_sched_setaffinity and sys_sched_getaffinity.
 - Remove unused put_rusage.
 - Add ssize_t checks for iovec lengths in do_readv_writev32.
 - Add emulation for posix timer system calls.

22 years ago[PATCH] s390: new 3270 driver.
Andrew Morton [Mon, 19 Jan 2004 02:42:27 +0000 (18:42 -0800)]
[PATCH] s390: new 3270 driver.

From: Martin Schwidefsky <schwidefsky@de.ibm.com>

New 3270 device driver.

22 years ago[PATCH] zfcp host adapter patch cleanup
Andrew Morton [Mon, 19 Jan 2004 02:41:52 +0000 (18:41 -0800)]
[PATCH] zfcp host adapter patch cleanup

From: Martin Schwidefsky <schwidefsky@de.ibm.com>

Remove all occurrences of __setup and #ifdef MODULE from the zfcp driver.

22 years ago[PATCH] s390: zfcp host adapter
Andrew Morton [Mon, 19 Jan 2004 02:41:43 +0000 (18:41 -0800)]
[PATCH] s390: zfcp host adapter

From: Martin Schwidefsky <schwidefsky@de.ibm.com>

 - Adapt to notify api change in cio.
 - Add missing unregister_reboot_notifier() for error path.
 - Fix infinite error recovery escalation for certain port failures.
 - Fix reference counting.
 - Use GFP_ATOMIC for kmalloc while holding a spinlock.
 - Don't open adapter/port if unit/port is removed from configuration
   after it has already been closed.
 - Don't establish qdio queues if a port/unit is going to be removed.
 - Shutdown ports and units before removing them.
 - Use schedule_work for scsi_add_device.
 - Don't reopen nameserver port when an rscn was received.
 - Don't call scsi_done twice in zfcp_fsf_send_fcp_command_task_handler.
 - Get rid of scsi fake queue, scsi_reqs_active and scsi_reqs_active_wq.
 - Get rid of unused adapter status.
 - Allow enabling of scsi devices at boot time with zfcp_dev parameter.
 - Change name prefix from sg to sg_list for functions which work with
   the struct sg_list.
 - Don't call scsi_add_device from zfcp error recovery thread to avoid a
   deadlock if a scsi command sent during scsi_add_device fails.
 - Fix scsi i/o stall due to missing local-link-up event.

22 years ago[PATCH] s390: network drivers
Andrew Morton [Mon, 19 Jan 2004 02:41:35 +0000 (18:41 -0800)]
[PATCH] s390: network drivers

From: Martin Schwidefsky <schwidefsky@de.ibm.com>

 - ctc/iucv: Add module author/description/license to fsm.c
 - ctc/lcs/iucv/qeth: Remove dst_link_failure calls because they can
   trigger a BUG in icmp.c.
 - ctc/iucv/qeth: Use s390_root_dev_{register,unregister} to fix reference
   counting for the group device sysfs root object.
 - ctc/lcs/qeth: Fix ccwgroup behaviour, remove should not imply offline.
 - ctc: Adapt to notify api change in cio.
 - ctc: Remove duplicate put_user.
 - iucv: Fix oops with empty netiucv peer name.
 - iucv: Use GFP_ATOMIC for kmalloc from tasklet.
 - iucv: Fix removal of attritubes.
 - qeth: Use correct length in clearing of MAC address.
 - qeth: Queue multicast and broadcast packets into the last
   queue on HiperSocket.
 - qeth: Reenable send control data after i/o error.
 - qeth: Find correct recbuf in qeth_send_control_data.
 - qeth: Handle VM startlan disabled.
 - qeth: Set flags for vipa entries.
 - qeth: Correct netmask on vipa setting.
 - qeth: Fix spinlock problems ("scheduling while atomic").
 - qeth: Avoid setting multicast IP addresses several times.
 - qeth: Fix /proc/qeth format.
 - qeth: Fix race on device removal.

22 years ago[PATCH] s390: tape driver.
Andrew Morton [Mon, 19 Jan 2004 02:41:26 +0000 (18:41 -0800)]
[PATCH] s390: tape driver.

From: Martin Schwidefsky <schwidefsky@de.ibm.com>

 - Add module license gpl.
 - Add debug messages.
 - Make blocksize persistent after close. Limit blocksize to 64k.
 - Check tape state against TS_INIT/TS_UNUSED for special case of
   medium sense and assign.
 - Assign tape as soon as they are set online and unassign when set offline.
 - Correct implementation of MT_EOD.
 - Add backward compatible tape.agent hotplug support (to be removed as soon
   as a full blown tape class is implemented).
 - Add state to differentiate between character device and block device access.
 - Make tape block device usable.
 - Add 34xx seek speedup code.
 - Fix device reference counting.
 - Fix online-offline-online cycle.
 - Add timeout to standard assign function.
 - Correct calculation of device index in tape_get_device().
 - Check idal buffer for fixed block size reads and writes.
 - Adapt to notify api change in cio.
 - Add sysfs attributes for tape state, first minor, current operation and
   current blocksize.

22 years ago[PATCH] s390: dasd driver
Andrew Morton [Mon, 19 Jan 2004 02:41:17 +0000 (18:41 -0800)]
[PATCH] s390: dasd driver

From: Martin Schwidefsky <schwidefsky@de.ibm.com>

 - Fix interrupt status examination.
 - Make dasd device attributes dependent on the devmap structure instead of
   the device structure to make them persistent and to be able to modify
   them in the offline state.
 - Allow changing the readonly attribute while dasd is online.
 - Add (diag) option to dasd= paramter.
 - Add missing spin_lock_init call.
 - Increase ref_count in dasd_device_from_cdev and add matching
   dasd_put_device pairs.
 - Adapt to notify api change in cio.
 - Fix bug in 3990 error recovery for cable pulls on ESS.
 - Replace kmap by page_address (no highmem on s/390).
 - Set correct default cache mode on ESS for eckd devices.
 - Change dasd names from "dasdx" to "dasd_<busid>_".

22 years ago[PATCH] s390: console driver.
Andrew Morton [Mon, 19 Jan 2004 02:41:09 +0000 (18:41 -0800)]
[PATCH] s390: console driver.

From: Martin Schwidefsky <schwidefsky@de.ibm.com>

- 3215: Adapt to notify api change in cio.
- 3215/sclp: move copy_from_user out of locked code.

22 years ago[PATCH] s390: common i/o layer
Andrew Morton [Mon, 19 Jan 2004 02:41:02 +0000 (18:41 -0800)]
[PATCH] s390: common i/o layer

From: Martin Schwidefsky <schwidefsky@de.ibm.com>

 - Make blacklist busid-aware. Add "all" keyword and ! operator to cio_ignore
   kernel parameter.
 - Add state change notify function for ccw devices (not mandatory) and
   introduce the "device disconnected" state.
 - Remove auto offline from remove function for ccw devices to be able to
   distinguish between user initiated offline and implicit offline due to
   device removal.
 - Store pointer to subchannel structure in the (hardware) subchannel intparm
   and remove the ioinfo array (hurray...). Remove intparm parameter of
   cio_start.
 - Use busid instead of subchannel number for debug output.
 - Use an opm mask to track which paths are logically online for a subchannel.
 - Pathgroup every device it was requested for, even single path devices.
 - Give i/o on a logically switched off path a grace period to complete, then
   kill the i/o to get the path offline.
 - Correctly initialize all spin_locks with spin_lock_init.
 - Handle status pending/busy while disabling subchannel.
 - Set busid already in cio_validate_subchannel.
 - Add s390_root_dev_{register,unregister} functions.
 - Do stcrw() inside a kernel thread. Add crw overflow handling.
 - Use subchannel lock directly instead of ccw device lock pointer in
   ccw_device_recognition to avoid accessing an already free structure.
 - Take/release ccw device lock in ccw_device_console_enable.
 - Don't wipe out the busid field in ccw_device_console_enable.
 - Call ccw_device_unregister() directly on a notoper event - delaying it via
   queue_work is harmful (subchannel may be removed before ccw_device).
 - Handle not opertional condition in ccw_device_cancel_halt_clear.
 - Correct status pending handling: don't collect pending status directly
   but wait for the interrupt to show up.
 - Enable subchannel when trying a steal lock operation.
 - Introduce doverify bit for delayed path verification.
 - Fix locking in __ccw_device_retry_loop/read_conf_data/read_dev/chars.
 - Make SPID retry mechanism more obvious.
 - qdio: check return code of ccw_device_{halt,clear} in qdio_cleanup. Don't
   try to wait for an interrupt we won't get.
 - qdio: fix shared indicators.
 - qdio: add code to handle i/o killed by cio with active queues.
 - qdio: don't do a shutdown on timeout in interrupt context.
 - Update cio documentation.

22 years ago[PATCH] s390: general update
Andrew Morton [Mon, 19 Jan 2004 02:40:53 +0000 (18:40 -0800)]
[PATCH] s390: general update

From: Martin Schwidefsky <schwidefsky@de.ibm.com>

 - Add console_unblank in machine_{restart,halt,power_off} to get
   all messages on the screen.
 - Set console_irq to -1 if condev= parameter is present.
 - Fix write_trylock for 64 bit.
 - Fix svc restarting.
 - System call number on 64 bit is an int. Fix compare in entry64.S.
 - Fix tlb flush problem.
 - Use the idte instruction to flush tlbs of a particular mm.
 - Fix ptrace.
 - Add fadvise64_64 system call wrapper.
 - Fix pfault handling.
 - Do not clobber _PAGE_INVALID_NONE pages in pte_wrprotect.
 - Fix siginfo_t size problem (needs to be 128 for s390x, not 136).
 - Avoid direct assignment to tsk->state, use __set_task_state.
 - Always make any pending restarted system call return -EINTR.
 - Add panic_on_oops.
 - Display symbol for psw address in show_trace.
 - Don't discard sections .exit.text, .exit.data and .eh_frame,
   otherwise stabs information for kerntypes will get lost.
 - Add memory clobber to assembler inline in ip_fast_checksum for gcc 3.3.
 - Fix softirq_pending calls for the current cpu (cpu == smp_processor_id()).
 - Remove BUG_ON in irq_enter. Two irq_enters are possible.

22 years ago[PATCH] implement find_extend_vma() for nommu
Andrew Morton [Mon, 19 Jan 2004 02:40:43 +0000 (18:40 -0800)]
[PATCH] implement find_extend_vma() for nommu

From: gerg@snapgear.com

Implement a null find_extend_vma() function for non-MMU architectures.  It
is called from a couple of places, so needs to be present.

22 years ago[PATCH] use m68k/types.h for m68knommu
Andrew Morton [Mon, 19 Jan 2004 02:40:34 +0000 (18:40 -0800)]
[PATCH] use m68k/types.h for m68knommu

From: gerg@snapgear.com

Remove m68knommu types.h, use m68k types.h instead.  At this level there is
no difference between the basic m68k types and the m68knommu types, no
point having 2 versions of the same file.

22 years ago[PATCH] fix cpu stats in m68knommu entry.S
Andrew Morton [Mon, 19 Jan 2004 02:40:26 +0000 (18:40 -0800)]
[PATCH] fix cpu stats in m68knommu entry.S

From: gerg@snapgear.com

Fix cpu stats code to match changes to higher level kstat data structure
for m68knommu ColdFire CPU architectures.  This fixes all ColdFire
sub-architecture CPU types.

22 years ago[PATCH] m68knommu include fix
Andrew Morton [Mon, 19 Jan 2004 02:40:18 +0000 (18:40 -0800)]
[PATCH] m68knommu include fix

From: gerg@snapgear.com

Remove include of non-existant net/module.h in m68knommu architecture
specific checksum code.

22 years ago[PATCH] sched_clock() for m68knommu architectures
Andrew Morton [Mon, 19 Jan 2004 02:40:10 +0000 (18:40 -0800)]
[PATCH] sched_clock() for m68knommu architectures

From: gerg@snapgear.com

Implement the sched_clock() function for m68knommu architectures.

22 years ago[PATCH] add module support for m68knommu architecture
Andrew Morton [Mon, 19 Jan 2004 02:39:59 +0000 (18:39 -0800)]
[PATCH] add module support for m68knommu architecture

From: gerg@snapgear.com

Add module support for m68knommu architecture.

22 years ago[PATCH] allow for building module support for m68knommu architecture
Andrew Morton [Mon, 19 Jan 2004 02:39:50 +0000 (18:39 -0800)]
[PATCH] allow for building module support for m68knommu architecture

From: gerg@snapgear.com

Allow for building of module support for m68knommu architecture.

22 years ago[PATCH] nfs: Fix an Oops in the RPC debug code...
Andrew Morton [Mon, 19 Jan 2004 02:39:40 +0000 (18:39 -0800)]
[PATCH] nfs: Fix an Oops in the RPC debug code...

From: Trond Myklebust <trond.myklebust@fys.uio.no>

Enabling rpc_debug can currently result in an Oops due to an incorrect
pointer check.

22 years ago[PATCH] nfs: Fix a possible client deadlock
Andrew Morton [Mon, 19 Jan 2004 02:39:32 +0000 (18:39 -0800)]
[PATCH] nfs: Fix a possible client deadlock

From: Trond Myklebust <trond.myklebust@fys.uio.no>

Fix a bug in the NFS write code whereby writepage() may end up deadlocking
on clear_inode().

22 years ago[PATCH] nfs: Fix readonly mounts
Andrew Morton [Mon, 19 Jan 2004 02:39:23 +0000 (18:39 -0800)]
[PATCH] nfs: Fix readonly mounts

From: Trond Myklebust <trond.myklebust@fys.uio.no>

The nfs_permission() code needs to check for "local" mount flags such as
"ro" *before* it decides to optimize away any permissions tests.

22 years ago[PATCH] nfs: Fix an open intent bug
Andrew Morton [Mon, 19 Jan 2004 02:39:14 +0000 (18:39 -0800)]
[PATCH] nfs: Fix an open intent bug

From: Trond Myklebust <trond.myklebust@fys.uio.no>

The following patch fixes a bug when initializing the intent structure
in sys_uselib(): intents use the FMODE_READ convention rather than
O_RDONLY.

It also adds a missing open intent to open_exec(). This ensures that NFS
clients will do the necessary close-to-open data cache consistency
checking.

22 years ago[PATCH] nfs: Optimize away unnecessary NFSv3 COMMIT calls.
Andrew Morton [Mon, 19 Jan 2004 02:39:05 +0000 (18:39 -0800)]
[PATCH] nfs: Optimize away unnecessary NFSv3 COMMIT calls.

Currently, when calling nfs_commit_file(), we check the range argument,
and only commit NFS write requests that fall within the given range.
This is silly, since all servers use fsync(), to honour a COMMIT call,
and so will sync all pending writes to stable storage.

The following patch ensures that if at least one NFS write falls within
the range specified by the call to nfs_commit_file(), then we commit all
outstanding writes on that file.

This fixes a sometimes severe inefficiency when combining reads and
writes: nfs_wb_page() is used to clear out writes prior to scheduling a
read(), and can end up calling COMMIT for each page to be read.

22 years ago[PATCH] NFS: fix bogus setattr calls
Andrew Morton [Mon, 19 Jan 2004 02:38:58 +0000 (18:38 -0800)]
[PATCH] NFS: fix bogus setattr calls

From: Trond Myklebust <trond.myklebust@fys.uio.no>

If users set the execute bit on a file, and then write to it,
remove_suid() causes a flood of SETATTR calls (one per write() syscall)
with no arguments to be sent down the wire.

The server will in any case clear the suid bit itself without any
prompting from us, so the following patch simply filters away all
SETATTR requests with empty or unsupported ia_valid fields.

22 years ago[PATCH] Add SEND_MSG and RECV_MSG controls
Andrew Morton [Mon, 19 Jan 2004 02:38:49 +0000 (18:38 -0800)]
[PATCH] Add SEND_MSG and RECV_MSG controls

From: James Morris <jmorris@redhat.com>

This patch implements two new access controls for SELinux: SEND_MSG and
RECV_MSG, providing mediation of network packets based on destination port
(IPv4 only at this stage).

22 years ago[PATCH] selinux: improve skb audit logging
Andrew Morton [Mon, 19 Jan 2004 02:38:40 +0000 (18:38 -0800)]
[PATCH] selinux: improve skb audit logging

From: James Morris <jmorris@redhat.com>

This patch is a rework of the skb audit logging code in SELinux.  Rather
than relying on skb header pointers, it parses the skb for specific
protocols (TCP and UDP for IPv4 at this stage).  This is safer for the case
of locally generated raw packets, which can be malformed.  It also now
takes fragmented skbs into account.  The new code allows the caller to
parse the skb so that parsed information can be more readily re-used.

22 years ago[PATCH] selinux: Makefile cleanup
Andrew Morton [Mon, 19 Jan 2004 02:38:31 +0000 (18:38 -0800)]
[PATCH] selinux: Makefile cleanup

From: Stephen Smalley <sds@epoch.ncsc.mil>

Use obj-$(CONFIG_FOO) instead of `ifeq'.

22 years ago[PATCH] selinux: Add dname to audit output when a path cannot be generated.
Andrew Morton [Mon, 19 Jan 2004 02:38:22 +0000 (18:38 -0800)]
[PATCH] selinux: Add dname to audit output when a path cannot be generated.

From: James Morris <jmorris@redhat.com>

This patch adds dname to audit output when a path cannot be generated.
This makes analysis of SELinux audit logs easier.

Patch by Stephen Smalley <sds@epoch.ncsc.mil>.

22 years ago[PATCH] selinux: Add SO_PEERSEC socket option and getpeersec LSM hook.
Andrew Morton [Mon, 19 Jan 2004 02:38:13 +0000 (18:38 -0800)]
[PATCH] selinux: Add SO_PEERSEC socket option and getpeersec LSM hook.

From: James Morris <jmorris@redhat.com>

This patch adds a new option for Unix sockets, SO_PEERSEC, and an
associated LSM hook, getpeersec.  The SELinux handler is also included.

The purpose of this is to allow applications to obtain each others security
credentials, analagously to the existing SO_PEERCRED option.

Examples of use are Security Enhanced D-BUS and Security Enhanced X.

This patch was previously approved in principle by David, and has been
updated with feedback from Chris Wright and extended to cover all
architectures.

22 years ago[PATCH] selinux: socket_has_perm cleanup
Andrew Morton [Mon, 19 Jan 2004 02:38:03 +0000 (18:38 -0800)]
[PATCH] selinux: socket_has_perm cleanup

From: James Morris <jmorris@redhat.com>

This is a cleanup for the SELinux code, which converts all
remaining appropriate socket hooks over to using socket_has_perm().

22 years ago[PATCH] selinux: Add node_bind control
Andrew Morton [Mon, 19 Jan 2004 02:37:54 +0000 (18:37 -0800)]
[PATCH] selinux: Add node_bind control

From: James Morris <jmorris@redhat.com>

This patch adds a new SELinux access control, node_bind, which can be used
to restrict the local IP address to which an application may bind.

22 years ago[PATCH] selinux: Add node controls
Andrew Morton [Mon, 19 Jan 2004 02:37:46 +0000 (18:37 -0800)]
[PATCH] selinux: Add node controls

From: James Morris <jmorris@redhat.com>

This patch adds 'node' access controls for SELinux, which allows network
traffic to be controlled on the basis of remote address.

Like the previous patch, similar functionality was present in earlier
SELinux implementations; this is a rework within the constraints of the LSM
hooks present in the mainline kernel.

22 years ago[PATCH] selinux: add netif controls
Andrew Morton [Mon, 19 Jan 2004 02:37:37 +0000 (18:37 -0800)]
[PATCH] selinux: add netif controls

From: James Morris <jmorris@redhat.com>

This patch adds netif access controls for SELinux, which allows network
traffic to be controlled on the basis of associated network interface.

Similar functionality was present in earlier SELinux implementations; this
is a rework within the constraints of the LSM hooks present in the mainline
kernel.

22 years ago[PATCH] selinux: Add resource limit control
Andrew Morton [Mon, 19 Jan 2004 02:37:28 +0000 (18:37 -0800)]
[PATCH] selinux: Add resource limit control

From: James Morris <jmorris@redhat.com>

This patch adds controls to the SELinux module over the setting and
inheritance of resource limits.  With these controls, the ability to set
hard limits can be limited to specific processes such as login, and when an
untrusted process invokes a more trusted program, soft limits can be reset,
thereby avoiding failures in the trusted program due to malicious setting
of the soft limit by the untrusted process.  Roland McGrath provided input
and feedback on the patch, which was implemented by Stephen Smalley
<sds@epoch.ncsc.mil>.

22 years ago[PATCH] trident: use pr_debug instead of home-brewed TRDBG
Andrew Morton [Mon, 19 Jan 2004 02:37:18 +0000 (18:37 -0800)]
[PATCH] trident: use pr_debug instead of home-brewed TRDBG

From: Muli Ben-Yehuda <mulix@mulix.org>

Yet another sound/oss/trident cleanup patch.  This one replace the TRDBG
debugging macro with the standard pr_debug.  Patch is from Eugene Teo
<eugene.teo@eugeneteo.net>, slightly modified by me to apply against
2.6.0-rc1-mm1 with the other cleanup patches applied.

22 years ago[PATCH] trident OSS sound driver fixes
Andrew Morton [Mon, 19 Jan 2004 02:37:05 +0000 (18:37 -0800)]
[PATCH] trident OSS sound driver fixes

From: Muli Ben-Yehuda <mulix@mulix.org>

- switch lock_set_fmt() and unlock_set_fmt() from macros to inline
  functions.  Macros that call return() are EVIL.

- simplify lock_set_fmt() and implement it via test_and_set_bit() rather
  than a spinlock protecting an int.

- fix a bug wherein we would do an up() on a semaphore that hasn't been
  down()ed if a signal happened after timeout in trident_write().

- fix a bug where we would not release the open_sem on OOM.

- make the arguments for prog_dmabuf clearer (int -> enum), and add two
  wrapper functions around it, one for record and one for playback.

- fix a bug where we would call VALIDATE_STATE after lock_kernel().  Since
  VALIDATE_STATE does 'return' if validation fails, bad things can happen.
  Thanks to Dawson Engler <engler@stanford.edu> and the Stanford checker for
  spotting.

- remove the calls to lock_kernel() from trident_release() and
  trident_mmap().  trident_release() appears to be covered by the open_sem,
  and trident_mmap() is covered by state->sem.

- s/TRUE/1/, s/FALSE/0/

22 years ago[PATCH] reindent trident OSS sound driver
Andrew Morton [Mon, 19 Jan 2004 02:36:56 +0000 (18:36 -0800)]
[PATCH] reindent trident OSS sound driver

From: Muli Ben-Yehuda <mulix@mulix.org>

Reindent the trident OSS sound driver

22 years ago[PATCH] MODULE_ALIAS for freevxfs
Andrew Morton [Mon, 19 Jan 2004 02:36:47 +0000 (18:36 -0800)]
[PATCH] MODULE_ALIAS for freevxfs

From: Christoph Hellwig <hch@lst.de>

Now that modutils don't have built-in aliases anymore this is needed to
make mount -t vxfs autload the module.

22 years ago[PATCH] parintk_ratelimit fix
Andrew Morton [Mon, 19 Jan 2004 02:36:39 +0000 (18:36 -0800)]
[PATCH] parintk_ratelimit fix

From: Anton Blanchard <anton@samba.org>

22 years ago[PATCH] generalise net_ratelimit (printk_ratelimit)
Andrew Morton [Mon, 19 Jan 2004 02:36:30 +0000 (18:36 -0800)]
[PATCH] generalise net_ratelimit (printk_ratelimit)

From: Anton Blanchard <anton@samba.org>

Generate a global printk rate-limiting function, printk_ratelimit().

Also, use it in the page allocator warning code.  Also add a dump_stack to
that code.

Later, we need to switch net_ratelimit() over to use printk_ratelimit().

22 years ago[PATCH] Amiga Buddha/CatWeasel IDE
Andrew Morton [Mon, 19 Jan 2004 02:36:22 +0000 (18:36 -0800)]
[PATCH] Amiga Buddha/CatWeasel IDE

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

Buddha/CatWeasel 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] M68k Documentation
Andrew Morton [Mon, 19 Jan 2004 02:36:13 +0000 (18:36 -0800)]
[PATCH] M68k Documentation

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

M68k Documentation: framebuffer.txt no longer exists in the m68k directory
(from Nikita Melnikov)

22 years ago[PATCH] Genrtc warning
Andrew Morton [Mon, 19 Jan 2004 02:36:04 +0000 (18:36 -0800)]
[PATCH] Genrtc warning

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

Genrtc: Move code to kill warning if CONFIG_PROC_FS is disabled

22 years ago[PATCH] Cirrusfb extern inline
Andrew Morton [Mon, 19 Jan 2004 02:35:56 +0000 (18:35 -0800)]
[PATCH] Cirrusfb extern inline

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

Cirrusfb: Replace `extern inline' by `static inline'

22 years ago[PATCH] M68k extern inline
Andrew Morton [Mon, 19 Jan 2004 02:35:47 +0000 (18:35 -0800)]
[PATCH] M68k extern inline

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

M68k core: Replace (variants of) `extern inline' by `static inline'

22 years ago[PATCH] M68k thread_info
Andrew Morton [Mon, 19 Jan 2004 02:35:38 +0000 (18:35 -0800)]
[PATCH] M68k thread_info

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

M68k: Fix (unused) definition of init_thread_info (from Roman Zippel)

22 years ago[PATCH] M68k thread
Andrew Morton [Mon, 19 Jan 2004 02:35:24 +0000 (18:35 -0800)]
[PATCH] M68k thread

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

M68k: Don't forget to initialize the thread_info member in INIT_THREAD() (from
Roman Zippel)

22 years ago[PATCH] M68k has no VGA/MDA
Andrew Morton [Mon, 19 Jan 2004 02:35:15 +0000 (18:35 -0800)]
[PATCH] M68k has no VGA/MDA

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

M68k has no VGA or MDA consoles

22 years ago[PATCH] Amiga core C99
Andrew Morton [Mon, 19 Jan 2004 02:35:07 +0000 (18:35 -0800)]
[PATCH] Amiga core C99

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

Amiga core: Use C99 struct initializers

22 years ago[PATCH] M68k asm/system.h
Andrew Morton [Mon, 19 Jan 2004 02:34:58 +0000 (18:34 -0800)]
[PATCH] M68k asm/system.h

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

M68k: Add missing #ifdef __KERNEL / #endif (from Christian T. Steigies)

22 years ago[PATCH] Mac II VIA
Andrew Morton [Mon, 19 Jan 2004 02:34:49 +0000 (18:34 -0800)]
[PATCH] Mac II VIA

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

Mac II VIA: Don't include <asm/init.h> directly

22 years ago[PATCH] Amiga debug fix
Andrew Morton [Mon, 19 Jan 2004 02:34:40 +0000 (18:34 -0800)]
[PATCH] Amiga debug fix

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

Amiga: Fix `debug=mem' (record all kernel messages in ChipRAM):
virt_to_phys() no longer works for Zorro II memory space, we must use
ZTWO_PADDR()

22 years ago[PATCH] Zorro sysfs/driver model
Andrew Morton [Mon, 19 Jan 2004 02:34:31 +0000 (18:34 -0800)]
[PATCH] Zorro sysfs/driver model

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

Zorro bus: Add support for sysfs and the new driver model

22 years ago[PATCH] Amiga Gayle E-Matrix 530 IDE
Andrew Morton [Mon, 19 Jan 2004 02:34:22 +0000 (18:34 -0800)]
[PATCH] Amiga Gayle E-Matrix 530 IDE

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

Amiga Gayle IDE: Add support for the IDE interface on the M-Tech E-Matrix 530
expansion card

22 years ago[PATCH] Amiga Gayle IDE cleanup
Andrew Morton [Mon, 19 Jan 2004 02:34:14 +0000 (18:34 -0800)]
[PATCH] Amiga Gayle IDE cleanup

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

Amiga Gayle IDE: Kill old test code for the IDE doubler

22 years ago[PATCH] Mac ADB
Andrew Morton [Mon, 19 Jan 2004 02:34:05 +0000 (18:34 -0800)]
[PATCH] Mac ADB

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

ADB: Disable the ADB clock code when CONFIG_ADB is not selected (from Matthias
Urlichs).

22 years ago[PATCH] Macfb setup
Andrew Morton [Mon, 19 Jan 2004 02:33:57 +0000 (18:33 -0800)]
[PATCH] Macfb setup

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

Macfb: Update setup routine (from Matthias Urlichs)

22 years ago[PATCH] Mac ADB IOP fix
Andrew Morton [Mon, 19 Jan 2004 02:33:48 +0000 (18:33 -0800)]
[PATCH] Mac ADB IOP fix

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

Mac ADB IOP: Fix improperly initialized request struct in the reset code,
causing a bogus pointer (from Matthias Urlichs)

22 years ago[PATCH] Sun-3 ID PROM C99
Andrew Morton [Mon, 19 Jan 2004 02:33:39 +0000 (18:33 -0800)]
[PATCH] Sun-3 ID PROM C99

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

Sun-3 ID PROM: Use C99 struct initializers

22 years ago[PATCH] Q40 interrupts C99
Andrew Morton [Mon, 19 Jan 2004 02:33:31 +0000 (18:33 -0800)]
[PATCH] Q40 interrupts C99

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

Q40 interrupts: Use C99 struct initializers

22 years ago[PATCH] MVME16x RTC C99
Andrew Morton [Mon, 19 Jan 2004 02:33:22 +0000 (18:33 -0800)]
[PATCH] MVME16x RTC C99

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

MVME16x RTC: Use C99 struct initializers

22 years ago[PATCH] M68k math emu C99
Andrew Morton [Mon, 19 Jan 2004 02:33:14 +0000 (18:33 -0800)]
[PATCH] M68k math emu C99

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

M68k math emulator: Use C99 struct initializers

22 years ago[PATCH] M68k symbol exports
Andrew Morton [Mon, 19 Jan 2004 02:33:05 +0000 (18:33 -0800)]
[PATCH] M68k symbol exports

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

M68k: Export missing symbols (from Matthias Urlichs)

22 years ago[PATCH] BVME6000 RTC C99
Andrew Morton [Mon, 19 Jan 2004 02:32:56 +0000 (18:32 -0800)]
[PATCH] BVME6000 RTC C99

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

BVME6000 RTC: Use C99 struct initializers

22 years ago[PATCH] Amiga sound C99
Andrew Morton [Mon, 19 Jan 2004 02:32:48 +0000 (18:32 -0800)]
[PATCH] Amiga sound C99

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

Amiga sound: Use C99 struct initializers

22 years ago[PATCH] Atari Hades PCI C99
Andrew Morton [Mon, 19 Jan 2004 02:32:39 +0000 (18:32 -0800)]
[PATCH] Atari Hades PCI C99

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

Atari Hades PCI: Use C99 struct initializers

22 years ago[PATCH] M68k RMW accesses
Andrew Morton [Mon, 19 Jan 2004 02:32:30 +0000 (18:32 -0800)]
[PATCH] M68k RMW accesses

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

M68k: Avoid bus fault for certain RMW accesses (from Roman Zippel)

22 years ago[PATCH] M68k cache mode
Andrew Morton [Mon, 19 Jan 2004 02:32:22 +0000 (18:32 -0800)]
[PATCH] M68k cache mode

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

M68k: Use a constant m68k_supervisor_cachemode only if we know it's safe,
otherwise use the value from head.S (from Roman Zippel)

22 years ago[PATCH] M68k head white space
Andrew Morton [Mon, 19 Jan 2004 02:32:13 +0000 (18:32 -0800)]
[PATCH] M68k head white space

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

M68k: Remove trailing white space (from Roman Zippel)

22 years ago[PATCH] M68k head pic
Andrew Morton [Mon, 19 Jan 2004 02:32:05 +0000 (18:32 -0800)]
[PATCH] M68k head pic

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

M68k: Make console functions position independent (from Roman Zippel)

22 years ago[PATCH] M68k head comments
Andrew Morton [Mon, 19 Jan 2004 02:31:56 +0000 (18:31 -0800)]
[PATCH] M68k head comments

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

M68k: Update some comments (from Roman Zippel)

22 years ago[PATCH] M68k head unused
Andrew Morton [Mon, 19 Jan 2004 02:31:47 +0000 (18:31 -0800)]
[PATCH] M68k head unused

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

M68k: Remove unused console_video_virtual (from Roman Zippel)

22 years ago[PATCH] M68k head console
Andrew Morton [Mon, 19 Jan 2004 02:31:39 +0000 (18:31 -0800)]
[PATCH] M68k head console

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

M68k: Use function macros and local macro for console functions (from Roman
Zippel)

22 years ago[PATCH] M68k floppy selection
Andrew Morton [Mon, 19 Jan 2004 02:31:30 +0000 (18:31 -0800)]
[PATCH] M68k floppy selection

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

Floppy: On m68k, PC-style floppies are used on Q40/Q60 and Sun-3x only. Sun-3x
floppy is currently broken (needs I/O abstractions)

22 years ago[PATCH] C99 change to rcupdate.h
Andrew Morton [Mon, 19 Jan 2004 02:31:21 +0000 (18:31 -0800)]
[PATCH] C99 change to rcupdate.h

From: "Art Haas" <ahaas@airmail.net>

Replace the GNU initializers with C99 initializers.

22 years ago[PATCH] Missing end tags in kernel-locking kerneldoc
Andrew Morton [Mon, 19 Jan 2004 02:31:13 +0000 (18:31 -0800)]
[PATCH] Missing end tags in kernel-locking kerneldoc

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

From: Adam Kropelin <akropel1@rochester.rr.com>

The new-and-improved kernel-locking kerneldoc seems to be missing some end
tags which causes 'make foodocs' to die.  I'm not sure if it's because of
my not-bleeding-edge docbook utils or if it's a genuine error.  Since most
ending tags are present I tend to think it's an error.

22 years ago[PATCH] Change cryptic description and help for CONFIG_PDC202XX_FORCE
Andrew Morton [Mon, 19 Jan 2004 02:31:04 +0000 (18:31 -0800)]
[PATCH] Change cryptic description and help for CONFIG_PDC202XX_FORCE

From: Stephan Maciej <stephanm@muc.de>

The description and the help text for this option has bothered me long
enough...  I hope the new strings are more self-explanatory than the ones
before.

22 years ago[PATCH] Use for_each_cpu() Where It's Meant To Be
Andrew Morton [Mon, 19 Jan 2004 02:30:55 +0000 (18:30 -0800)]
[PATCH] Use for_each_cpu() Where It's Meant To Be

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

Some places use cpu_online() where they should be using cpu_possible, most
commonly for tallying statistics.  This makes no difference without hotplug
CPU.

Use the for_each_cpu() macro in those places, providing good examples (and
making the external hotplug CPU patch smaller).

Some places use cpu_online() where they should be using cpu_possible, most
commonly for tallying statistics.  This makes no difference without hotplug
CPU.

Use the for_each_cpu() macro in those places, providing good examples (and
making the external hotplug CPU patch smaller).

22 years ago[PATCH] Make for_each_cpu() Iterator More Friendly
Andrew Morton [Mon, 19 Jan 2004 02:30:46 +0000 (18:30 -0800)]
[PATCH] Make for_each_cpu() Iterator More Friendly

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

Anton: breaks PPC64, as it needs cpu_possible_mask, but fix is already
in Ameslab tree.

The for_each_cpu() and for_each_online_cpu() iterators take a mask, and
noone uses them that way (except for arch/i386/mach-voyager, which uses
for_each_cpu(cpu_online_mask).  Make them more usable iterators, by
dropping the "mask" arg.

This requires that archs provide a cpu_possible_mask: most do, but PPC64
doesn't, so it is broken by this patch.  The other archs use a #define to
define it in asm/smp.h.

Most places doing loops over cpus testing for cpu_online() should use
for_each_cpu: it is synonymous at the moment, but with the CPU hotplug
patch the difference becomes important.

Followup patches will convert users.

22 years ago[PATCH] sched.c style cleanups
Andrew Morton [Mon, 19 Jan 2004 02:30:38 +0000 (18:30 -0800)]
[PATCH] sched.c style cleanups

From: Ingo Molnar <mingo@elte.hu>

- sched.c style cleanups (no code change)

22 years ago[PATCH] CPU scheduler cleanup
Andrew Morton [Mon, 19 Jan 2004 02:30:29 +0000 (18:30 -0800)]
[PATCH] CPU scheduler cleanup

From: Ingo Molnar <mingo@elte.hu>

- move scheduling-state initializtion from copy_process() to
  sched_fork() (Nick Piggin)

22 years ago[PATCH] can_migrate_task cleanup
Andrew Morton [Mon, 19 Jan 2004 02:30:21 +0000 (18:30 -0800)]
[PATCH] can_migrate_task cleanup

From: Ingo Molnar <mingo@elte.hu>

- minor can_migrate_task cleanup

22 years ago[PATCH] Relax synchronization of sched_clock()
Andrew Morton [Mon, 19 Jan 2004 02:30:12 +0000 (18:30 -0800)]
[PATCH] Relax synchronization of sched_clock()

From: Ingo Molnar <mingo@elte.hu>

- relax synchronization of sched_clock()

22 years ago[PATCH] O21 for interactivity 2.6.0
Andrew Morton [Mon, 19 Jan 2004 02:30:03 +0000 (18:30 -0800)]
[PATCH] O21 for interactivity 2.6.0

From: Con Kolivas <kernel@kolivas.org>

A non-critical corner case has come up for interactivity that I believe needs
to be addressed. It is only extensive testing and examination that revealed
this, as this interactivity work is in maintenance mode.

Description:

  It is possible for a highly interactive task (like X) to cause large
  latencies in tasks that are less 'niced' (eg negative nice number
  compared to X which should normally run at nice 0) if they are fully
  cpu bound.  This occurs due to expiration of the cpu bound tasks.

  This patch addresses this by not reinserting interactive tasks into
  the active array if there is a better static priority task running but
  has been placed on the expired array.  This causes a substantial
  reduction in the maximum scheduling latency a task with a less nice
  value can have.

  This also has the positive side effect of maintaining better cpu%
  proportions for tasks of different nice levels.

Testers will only be able to discern a difference with highly cpu bound tasks
of normal scheduling policy at different nice levels. Test cases are doing
something cpu intensive relatively -niced in the presence of an interactive
load (eg capturing and encoding video at nice -10 while using X nice 0, or
something nice 0 vs nice +10) and so on. Because of the crossover of 10
'nice' levels of dynamic priorities between interactive and cpu bound tasks
this patch will have a more noticable effect as the nice difference is
greater, especially 11 or more.