An error occurred fetching the project authors.
  1. 10 May, 2004 40 commits
    • Andrew Morton's avatar
      [PATCH] shrink_slab: improved handling of GFP_NOFS allocations · edb41998
      Andrew Morton authored
      Currently, shrink_slab() will decide that it needs to scan a certain number of
      dentries, will call shrink_dcache_memory() requesting that this be done, and
      shrink_dcache_memory() will simply bale out without doing anything because the
      caller did not have __GFP_FS.
      
      This has the potential to disrupt our lovely pagecache-vs-slab balancing act. 
      So change things so that shrinker callouts can return -1, indicating that they
      baled out.  This way, shrink_slab can remember that this slab was owed a
      certain number of scannings and these will be correctly performed next time a
      __GFP_FS caller comes by.
      edb41998
    • Andrew Morton's avatar
      [PATCH] New version of early CPU detect · b528cea7
      Andrew Morton authored
      From: Andi Kleen <ak@suse.de>
      
      We still need some kind of early CPU detection, e.g.  for the AMD768
      workaround and for the slab allocator to size its slabs correctly for the
      cache line.  Also some other code already had private early CPU routines.
      
      This patch takes a new approach compared to the previous patch which caused
      Andrew so much grief.  It only fills in a few selected fields in
      boot_cpu_data (only the data needed to identify the CPU type and the cache
      alignment).  In particular the feature masks are not filled in, and the
      other fields are also not touched to prevent unwanted side effects.
      
      Also convert the ppro workaround to use standard cpu data now. 
      
      I'm not sure if slab still has the necessary support to use the cache line
      size early; previously Manfred showed some serious memory saving with this
      for kernels that are compiled for a bigger cache line size than the CPU (is
      often the case on distribution kernels).  This code could be reenable now
      with this patch.
      b528cea7
    • Andrew Morton's avatar
      [PATCH] remove some unused variables in s2io · ed67bbe7
      Andrew Morton authored
      From: Anton Blanchard <anton@samba.org>
      
      Found a few warnings when compiling with NAPI off.
      ed67bbe7
    • Andrew Morton's avatar
      [PATCH] Remove bootsect_helper on x86_64 and pc98 · 51538d85
      Andrew Morton authored
      From: Coywolf Qi Hunt <coywolf@greatcn.org>
      
      Since "Direct booting from floppy is no longer supported", this patch is
      remove the bootsect_helper code from x86_64 and PC-9800.
      51538d85
    • Andrew Morton's avatar
      [PATCH] Remove bootsect_helper and a comment fix · 7d8d2dfe
      Andrew Morton authored
      From: Coywolf Qi Hunt <coywolf@greatcn.org>
      
      Since "Direct booting from floppy is no longer supported", this patch is to
      remove the bootsect_helper code.  And also a comment fix.
      
      The other two platforms x86_64 and PC-9800 should also be cleaned up too.
      7d8d2dfe
    • Andrew Morton's avatar
      [PATCH] ppc32: ppc8xx build fixes · 79fde358
      Andrew Morton authored
      From: "Prof. BJ" <prof.bj@freemail.hu>
      
      - m8xx_setup warning and mfmsr error fix
      - ppc8xx_pic include error fix
      - tqm8xxl.c typeing (syntax) error fix
      - commproc.c include error and prototype warning fix
      
      (acked by Matt Porter)
      79fde358
    • Andrew Morton's avatar
      [PATCH] es7000 subarch update · 45dc4f27
      Andrew Morton authored
      From: "Protasevich, Natalie" <Natalie.Protasevich@UNISYS.com>
      
      The patch fixes a problem with ES7000 Server Management mechanism that uses
      platform register mip_port.  It was not initialized, so the mechanism was not
      functional.
      
      The patch also fixes the APIC destination for hierarchical and flat cluster
      models used in ES7000.  The destination ID's reflect policies for Cascade
      based systems which use logical delivery and lowest priority mechanism, and
      for xAPIC based models that use physical delivery and fixed APIC destinations.
      
      The patch also turns on NO_IOAPIC_CHECK (1) to avoid error messages and
      attempts to re-write the ID, because on ES7000 all ID's are hard coded in the
      BIOS and cannot be altered.
      45dc4f27
    • Andrew Morton's avatar
      [PATCH] Consolidate sys32_nfsservctl · 522cbd42
      Andrew Morton authored
      From: Arnd Bergmann <arnd@arndb.de>
      
      sys32_nfsservctl is the largest remaining syscall emulation handler that can
      be consolidated.  mips and ia64 currently don't use this at all, parisc has a
      simpler implementation than the one used by s390, sparc ppc and that the new
      compat_sys_nfsservctl is based on.
      
      The user access checks in the code are inconsistant at least, which should be
      fixed here.
      
      Compile tested only due to lack of proper test setup.
      522cbd42
    • Andrew Morton's avatar
      [PATCH] Consolidate sys32_select · 37915f7b
      Andrew Morton authored
      From: Arnd Bergmann <arnd@arndb.de>
      
      sys32_select has seven mostly but not exactly identical versions, so
      consolidate them as compat_sys_select.  Based on the ppc64 implementation,
      which most closely resembles sys_select.  One bug that was not caught by LTP
      has been fixed since the first version of this patch.
      
      tested x86_64, ia64 and s390.
      37915f7b
    • Andrew Morton's avatar
      [PATCH] Consolidate do_execve32 · 265e0a42
      Andrew Morton authored
      From: Arnd Bergmann <arnd@arndb.de>
      
      The code for sys32_execve/do_execve32 in most of the seven versions was copied
      from fs/exec.c but not kept up-to-date.  The new compat_do_execve() function
      is based on the mips code and has been resync'ed with do_execve().  IA64
      changes are from Arun Sharma.
      
      Tested on x86_64, ia64 and s390
      265e0a42
    • Andrew Morton's avatar
      [PATCH] Consolidate sys32_readv and sys32_writev · 4791db72
      Andrew Morton authored
      From: Arnd Bergmann <arnd@arndb.de>
      
      The seven implementations of this have gone out of sync and are mostly buggy. 
      The new compat_sys_* version is based on the ppc64 implementation, which most
      closely resembles the code in sys_readv/sys_writev.
      
      Tested on x86_64, ia64 and s390.
      4791db72
    • Andrew Morton's avatar
      [PATCH] AS: increase batch expiry intervals · 8aab2013
      Andrew Morton authored
      From: Nick Piggin <nickpiggin@yahoo.com.au>
      
      Without disturbing the read/write ratio, increase the bathc expiry
      intervals.  This wil have the effect of increasing latency a little, but
      with improved throughput.
      8aab2013
    • Andrew Morton's avatar
      [PATCH] Laptop Mode doc update · e33daf9d
      Andrew Morton authored
      From: <bart@samwel.tk>
      
      Richard Atterer reported that mutt does not play well with noatime (it uses
      access times to check whether new mail has arrived in a folder).  This patch
      warns about this in the doc, and adds a setting to the control script to
      disable the noatime remount.
      e33daf9d
    • Andrew Morton's avatar
      [PATCH] cyclades MAINTAINERS update · c489e9e6
      Andrew Morton authored
      From: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
      c489e9e6
    • Andrew Morton's avatar
      [PATCH] selinux: reopen descriptors closed on exec to /dev/null · def3f08e
      Andrew Morton authored
      From: Stephen Smalley <sds@epoch.ncsc.mil>
      
      This patch changes the SELinux module to try to reset any descriptors it
      closes on exec (due to a lack of permission by the new domain to the inherited
      open file) to refer to the null device.  This counters the problem of SELinux
      inducing program misbehavior, particularly due to having descriptors 0-2
      closed when the new domain is not allowed access to the caller's tty.  This is
      primarily to address the case where the caller is trusted with respect to the
      new domain, as the untrusted caller case is already handled via AT_SECURE and
      glibc secure mode.  The code is partly based on the OpenWall LSM, which in
      turn drew from the OpenWall kernel patch.  Note that the code does not
      guarantee that the descriptor is always re-opened to /dev/null; it merely
      makes a reasonable effort to do so, but can fail under various conditions.
      def3f08e
    • Andrew Morton's avatar
      [PATCH] ext3 error handling fixes · e461abeb
      Andrew Morton authored
      From: Andreas Dilger <adilger@clusterfs.com>
      
      a) we don't call ext3_error() for an IO error in ext3_find_entry(), so we
         won't do the normal ext3 error handling (mark SB in error, remount-ro
         or panic if desired);
      b) in empty_dir() we don't continue checking for non-empty blocks after a
         content error (ext3_check_dir_entry() calls ext3_error() already);
      c) we had decided not to mark the SB in error for holes in directories to
         allow leway in the indexed-directory implementation, but this change
         incorrectly also disabled marking the SB in error for real IO errors.
      e461abeb
    • Andrew Morton's avatar
      [PATCH] sched: in_sched_functions() cleanup · a7c8a1d3
      Andrew Morton authored
      From: Rusty Russell <rusty@rustcorp.com.au>
      
      1) Create an in_sched_functions() function in sched.c and make the
         archs use it.  (Two archs have wchan #if 0'd out: left them alone).
      
      2) Move __sched from linux/init.h to linux/sched.h and add comment.
      
      3) Rename __scheduling_functions_start_here/end_here to __sched_text_start/end.
      
      Thanks to wli and Sam Ravnborg for clue donation.
      a7c8a1d3
    • Andrew Morton's avatar
      [PATCH] Fix ext3 bogus ENOSPC · e736428d
      Andrew Morton authored
      With strange workloads which do a lot of quick truncation on small filesystems
      it is possible to get into a situation where there are free blocks on the
      disk, but they are not allocatable at this time due to their having been freed
      up in the current JBD transaction.  Applications get unexpected ENOSPC errors.
      
      We can fix that with this patch, originally by Andreas Dilger which forces a
      single commit+retry when an ENOSPC is encountered.
      e736428d
    • Andrew Morton's avatar
      [PATCH] reduce NMI watchdog call frequency with local APIC. · 774882ea
      Andrew Morton authored
      From: Mikael Pettersson <mikpe@csd.uu.se>
      
      The real problem is that SMP with nmi_watchdog=2 initialises the lapic NMI
      watchdog but doesn't check it and therefore doesn't reduce nmi_hz.  This is
      an SMP bug.
      
      The patch changes smpboot.c to do a check_nmi_watchdog() at the appropriate
      place, which fixes the high NMI frequency problem w/o changing anything
      else.  I've verified that it solves the problem on my MP-capable UP box.
      774882ea
    • Andrew Morton's avatar
      [PATCH] Fix nmi_watchdog=2 and P4 HT · 961d3a72
      Andrew Morton authored
      From: Philippe Elie <phil.el@wanadoo.fr>
      
      With nmi_watchdog=2 and a P4 ht box the nmi is occurring only on logical
      processor 0, it's better to get it on both.
      
      With this patch, on x86 SMP and nmi_watchdog=2, nmi interupts occur at 1000
      hz (if the cpu is loaded) not at the intended 1 hz rate but that's a distinct
      problem.
      961d3a72
    • Andrew Morton's avatar
      [PATCH] Fixes in 32 bit ioctl emulation code · a4855831
      Andrew Morton authored
      From: Raghavan <raghav@in.ibm.com>,
            me
      
      I am submitting a patch that fixes 2 race conditions in the 32 bit ioctl
      emulation code.(fs/compat.c) Since the search is not locked; when a
      ioctl_trans structure is deleted, corruption can occur.
      
      The following scenarios discuss the race conditions:
      
      1) When the search is hapenning, if any ioctl_trans structure gets
         deleted; then rather than searching the hash table, the code will start
         searching the free list.
      
      while (t && t->cmd != cmd)
              -
      a4855831
    • Andrew Morton's avatar
      [PATCH] mips: sgiwd93 2.6 fixes and crapectomy · ed258d80
      Andrew Morton authored
      From: Ralf Baechle <ralf@linux-mips.org>
      
      Get to work under 2.6 sorting out the giant mess this has been.  Further
      cleanups would require a full crapectomy of wd33c93.c itself ...
      ed258d80
    • Andrew Morton's avatar
      [PATCH] mips: remove dz driver · 41984bac
      Andrew Morton authored
      From: Ralf Baechle <ralf@linux-mips.org>
      
      This driver has been obsoleted by drivers/serial/dz.c.
      41984bac
    • Andrew Morton's avatar
      [PATCH] mips: 64-bit MIPS needs compat stuff · 303165e9
      Andrew Morton authored
      From: Ralf Baechle <ralf@linux-mips.org>
      303165e9
    • Andrew Morton's avatar
      [PATCH] mips: add missing IP22 Zilog bit · 61f9d5aa
      Andrew Morton authored
      From: Ralf Baechle <ralf@linux-mips.org>
      
      Add missing definition PORT_IP22ZILOG which is need by ip22zilog driver.
      61f9d5aa
    • Andrew Morton's avatar
      [PATCH] mips: GBE Video Driver · f2136be1
      Andrew Morton authored
      From: Ralf Baechle <ralf@linux-mips.org>
      
      This patch adds the GBE video driver for the video system in SGI IP32
      aka O2 and it's i386-based equivalent the Visual Workstation.
                                                                                    
      This driver obsoletes sgivwfb.c; but I'd prefer to play safe and remove
      it after some additional time, just in case.
      f2136be1
    • Andrew Morton's avatar
      [PATCH] mips: remove VIDEO_TYPE_SNI_RM · 4663d2a4
      Andrew Morton authored
      From: Ralf Baechle <ralf@linux-mips.org>
      
      The RM200's onboard video really is a plain old boring Cyrix PCI card.
      4663d2a4
    • Andrew Morton's avatar
      [PATCH] mips: newport driver fixes · ebaebc68
      Andrew Morton authored
      From: Ralf Baechle <ralf@linux-mips.org>
      
      Make the driver for Newport aka XL work in 2.6.
      ebaebc68
    • Andrew Morton's avatar
      [PATCH] mips: Simplify expression · 2cb5274c
      Andrew Morton authored
      From: Ralf Baechle <ralf@linux-mips.org>
      
      CONFIG_MIPS is always defined, for 32-bit and 64-bit.
      2cb5274c
    • Andrew Morton's avatar
      [PATCH] mips: fix 2.6 fb setup · bbbc024a
      Andrew Morton authored
      From: Ralf Baechle <ralf@linux-mips.org>
      bbbc024a
    • Andrew Morton's avatar
      [PATCH] MIPS update · 4b35ee7f
      Andrew Morton authored
      From: Ralf Baechle <ralf@linux-mips.org>
      
       - Kconfig cleanups:
          - enable DMA_NONCOHERENT, DMA_COHERENT or DMA_IP27 via reverse dependencies
          - untangle VRC4171 / VRC4173 selection
          - R10000 support enables PREFETCH
          - SEAD needs IRQ_CPU
       - Update defconfig against latest Kconfig files.
       - Fix computation of return address if syscall number was out of range
       - Add power managment hooks in signal code.
       - Don't try to handle signals when previous context was not in user mode.
       - Fix serial interface setup for VR41xx systems.
       - Build fixes after CLEAR_BITMAP changed name.
       - Removes bogus comment from <asm/checksum.h>
       - <asm/hdreg.h> is dead.
       - Start collecting common definitions for PMON firmware in <asm/pmon.h>
       - Define ARCH_MIN_TASKALIGN to 8; we have 64-bit members even on 32-bit
         kernels if we're running on MIPS II or better.
      4b35ee7f
    • Andrew Morton's avatar
      [PATCH] Fix deadlock in journalled quota · 844ef7b9
      Andrew Morton authored
      From: Jan Kara <jack@ucw.cz>
      
      Attached patch should fix reported deadlock in journalled quota code.
      quotactl() call was violating the locking rules and didn't start transaction
      when it should.
      
      From: <raven@themaw.net>
      
        Found a couple of symbols not exported that were needed by the ext3.ko
        module.
      844ef7b9
    • Andrew Morton's avatar
      [PATCH] migration_thread() race fix · 74499d32
      Andrew Morton authored
      From: Srivatsa Vaddagiri <vatsa@in.ibm.com>
      
      Noticed that migration_thread can examine "kthread_should_stop()?" without
      setting its state to TASK_INTERRUPTIBLE first.  This can cause kthread_stop
      on that thread to block forever ...
      
      P.S 	- I assumed that having the task state set to TASK_INTERRUTIBLE
      	  while it is doing active_load_balance is fine. It seemed to be
      	  the case earlier also.
      74499d32
    • Andrew Morton's avatar
      [PATCH] sched_getaffinity vs cpu hotplug race fix · 870d3c0a
      Andrew Morton authored
      From: Srivatsa Vaddagiri <vatsa@in.ibm.com>
      
      Fix the race in sys_sched_getaffinity.  Patch below takes cpu_hotplug lock
      before reading cpus_allowed mask of a task.
      870d3c0a
    • Andrew Morton's avatar
      [PATCH] Move migrate_all_tasks to CPU_DEAD handling · ddea677b
      Andrew Morton authored
      From: Srivatsa Vaddagiri <vatsa@in.ibm.com>
      
      migrate_all_tasks is currently run with rest of the machine stopped.
      It iterates thr' the complete task table, turning off cpu affinity of any task
      that it finds affine to the dying cpu. Depending on the task table
      size this can take considerable time. All this time machine is stopped, doing
      nothing.
      
      Stopping the machine for such extended periods can be avoided if we do
      task migration in CPU_DEAD notification and that's precisely what this patch
      does.
      
      The patch puts idle task to the _front_ of the dying CPU's runqueue at the 
      highest priority possible. This cause idle thread to run _immediately_ after
      kstopmachine thread yields. Idle thread notices that its cpu is offline and
      dies quickly. Task migration can then be done at leisure in CPU_DEAD
      notification, when rest of the CPUs are running.
      
      Some advantages with this approach are:
      
      	- More scalable. Predicatable amout of time that machine is stopped.
      	- No changes to hot path/core code. We are just exploiting scheduler
      	  rules which runs the next high-priority task on the runqueue. Also
      	  since I put idle task to the _front_ of the runqueue, there
      	  are no races when a equally high priority task is woken up
      	  and added to the runqueue. It gets in at the back of the runqueue,
      	  _after_ idle task!
      	- cpu_is_offline check that is presenty required in try_to_wake_up,
      	  idle_balance and rebalance_tick can be removed, thus speeding them
      	  up a bit
      
      From: Srivatsa Vaddagiri <vatsa@in.ibm.com>
      
        Rusty mentioned that the unlikely hints against cpu_is_offline is
        redundant since the macro already has that hint.  Patch below removes those
        redundant hints I added.
      ddea677b
    • Andrew Morton's avatar
      [PATCH] sched: Look at another CPU's domain · 4197ad87
      Andrew Morton authored
      From: Nick Piggin <nickpiggin@yahoo.com.au>
      
      The SMT wake_idle code really wants to look at a non-local CPU's domain in
      order to check for idle siblings.
      
      So change the domain attachment code a little bit so we continue to hold a
      runqueue's lock while attaching a new domain.  This means the locking rules
      have changed to: you may access your own domain without any lock, you must
      hold a remote runqueue's lock in order to view its domain.
      4197ad87
    • Andrew Morton's avatar
      [PATCH] sched: micro-optimisation for wake_up · 25de0902
      Andrew Morton authored
      From: Nick Piggin <nickpiggin@yahoo.com.au>
      
      This actually does produce better code, especially under the locked
      section.
      
      Turns a conditional + unconditional jump under the lock in the unlikely
      case into a cmov outside the lock.
      25de0902
    • Andrew Morton's avatar
      [PATCH] sched: reduce idle time · 85841fc0
      Andrew Morton authored
      From: Nick Piggin <nickpiggin@yahoo.com.au>
      
      It makes NEWLY_IDLE balances cause find_busiest_group return the busiest
      available group even if there isn't an imbalance.  Basically - try a bit
      harder to prevent schedule emptying the runqueue.
      
      It is quite aggressive, but that isn't so bad because we don't (by default)
      do NEWLY_IDLE balancing across NUMA nodes, and NEWLY_IDLE balancing is always
      restricted to cache_hot tasks.
      
      It picked up a little bit of idle time that dbt2-pgsql was seeing...
      85841fc0
    • Andrew Morton's avatar
      [PATCH] sched: balance-on-clone · 8c8cfc36
      Andrew Morton authored
      From: Ingo Molnar <mingo@elte.hu>
      
      Implement balancing during clone().  It does the following things:
      
      - introduces SD_BALANCE_CLONE that can serve as a tool for an
        architecture to limit the search-idlest-CPU scope on clone().
        E.g. the 512-CPU systems should rather not enable this.
      
      - uses the highest sd for the imbalance_pct, not this_rq (which didnt
        make sense).
      
      - unifies balance-on-exec and balance-on-clone via the find_idlest_cpu()
        function. Gets rid of sched_best_cpu() which was still a bit
        inconsistent IMO, it used 'min_load < load' as a condition for
        balancing - while a more correct approach would be to use half of the
        imbalance_pct, like passive balancing does.
      
      - the patch also reintroduces the possibility to do SD_BALANCE_EXEC on
        SMP systems, and activates it - to get testing.
      
      - NOTE: there's one thing in this patch that is slightly unclean: i
        introduced wake_up_forked_thread. I did this to make it easier to get
        rid of this patch later (wake_up_forked_process() has lots of
        dependencies in various architectures). If this capability remains in
        the kernel then i'll clean it up and introduce one function for
        wake_up_forked_process/thread.
      
      - NOTE2: i added the SD_BALANCE_CLONE flag to the NUMA CPU template too.
        Some NUMA architectures probably want to disable this.
      8c8cfc36
    • Andrew Morton's avatar
      [PATCH] sched: cpu load management cleanup · a690c9b7
      Andrew Morton authored
      From: Ingo Molnar <mingo@elte.hu>
      
      This does the source/target cleanup.  This is a no-functionality patch which
      also adds more comments to explain these functions.
      a690c9b7