1. 18 Mar, 2003 26 commits
    • Andrew Morton's avatar
      [PATCH] Tighten CONFIG_NUMA preconditions · 34b254ca
      Andrew Morton authored
      Patch from Martin J. Bligh and Dave Hansen
      
      People with ordinary PCs are accidentally turning on NUMA support, and people
      with NUMA machines are finding the NUMA option mysteriously disappearing.
      This patch sets the defaults to sane things for everyone, and only allows you
      to turn on NUMA with both SMP and 64Gb support on (it's useful for the
      distros on non-Summit boxes, but not on their UP kernels ;-)).
      
      I've also moved it below the highmem options, as it logically depends on
      them, so this makes more sense.  For those searching for NUMA support on
      *real* NUMA machine, Dave has provided some guiding comments to show them
      what they messed up (it's totally non-obvious).  Hopefully this will stop
      people's recent unfortunate foot-wounds (I think UP machines were defaulting
      to NUMA on ...  oops).
      34b254ca
    • Andrew Morton's avatar
      [PATCH] /proc/sysrq-trigger: trigger sysrq functions via · 5d954f33
      Andrew Morton authored
      This makes sysrq facilities available to remote users.
      
      Writing a 'C' to /proc/sysrq-trigger receives the same treatment as typing
      sysrq-C on the local keyboard.
      5d954f33
    • Andrew Morton's avatar
      [PATCH] pgd_index/pmd_index/pte_index commentary · a92fb3fe
      Andrew Morton authored
      Patch from Dave Hansen <haveblue@us.ibm.com>
      
      Adds some commentary to these newly-introduced macros.
      a92fb3fe
    • Andrew Morton's avatar
      [PATCH] fix oprofile timer race · d6ff057c
      Andrew Morton authored
      Patch from John Levon <levon@movementarian.org>
      
      wli got an oops from this. The callbacks call mod_timer so the timer had
      better be setup by then
      d6ff057c
    • Andrew Morton's avatar
      [PATCH] io-apic.c: DO_ACTION cleanup · 648300b0
      Andrew Morton authored
      Patch from "Martin J. Bligh" <mbligh@aracnet.com>
      
      This removes the DO_ACTION stuff.  The downside is that we add some boring
      and repetive code.  The upside is that it's simple, and mere mortals can read
      it without screwing their brains into a small piece of silly putty and
      bouncing it off the wall.  I think that's more important than pure source
      code size.
      648300b0
    • Andrew Morton's avatar
      [PATCH] OOPS instance counters · 93b24206
      Andrew Morton authored
      Patch from "Randy.Dunlap" <rddunlap@osdl.org>
      
      Adds an oops counter to the oops messages, such as:
      
      	Oops: 0002 [#2]
      
      So we can tell whether oops reports refer to the first oops, or to some
      less-interesting followon oops.
      93b24206
    • Andrew Morton's avatar
      [PATCH] posix timers update · 9c58c3bd
      Andrew Morton authored
      Patch from george anzinger <george@mvista.com>
      
      Fix the "large sleep returns EINVAL" problem, and clean a few things up.
      9c58c3bd
    • Andrew Morton's avatar
      [PATCH] Memleak in fs/ufs/util.c · 58a90ba8
      Andrew Morton authored
      Patch from Oleg Drokin <green@namesys.com>
      
          There is trivial memleak on error exit path in
          fs/ufs/util.c::_ubh_bread_()
      58a90ba8
    • Andrew Morton's avatar
      [PATCH] memleak in fs/nfs/inode.c::nfs_get_sb() · 6bd4c9f3
      Andrew Morton authored
      Patch from Oleg Drokin <green@namesys.com>
      
         There is trivial memleak on error exit path in nfs get_sb function.
      6bd4c9f3
    • Andrew Morton's avatar
      [PATCH] slab changes for !CONFIG_MMU · 56646aa2
      Andrew Morton authored
      Patch from Christoph Hellwig <hch@lst.de>
      
      It extends the maximum amount of memory which may be kmalloced on nommu
      machines.  This is needed because these machines cannot perform vmalloc().
      
      We couldn't really find a way of doing this which avoided the ifdef tangle.
      56646aa2
    • Andrew Morton's avatar
      [PATCH] a few missing stubs for !CONFIG_MMU · d8b8d698
      Andrew Morton authored
      Patch from Christoph Hellwig <hch@lst.de>
      
      This is from the uClinux patches - there are a few more stubs needed
      in nommu.c to get the mmuless plattforms working.
      d8b8d698
    • Andrew Morton's avatar
      [PATCH] stack reduction in drivers/char/vt_ioctl.c · cb995148
      Andrew Morton authored
      Patch from "Randy.Dunlap" <randy.dunlap@verizon.net>
      
      This patch (to 2.5.64) reduces the stack usage in vt_ioctl()
      from 0x334 bytes to 0xec bytes (P4, UP, gcc 2.96).
      cb995148
    • Andrew Morton's avatar
      [PATCH] file_list: less locking · 8e82373a
      Andrew Morton authored
      - optimise file_kill() to not take the global lock if the file is not on a
        list.
      
      - Use optimised file_kill() in a few places rather than open-coding the
        list removal.
      8e82373a
    • Andrew Morton's avatar
      [PATCH] file_table: remove the private freelist · 4cac8a28
      Andrew Morton authored
      - Remove the private freelist.  There's no point in special-casing file
        structure allocations in this way.
      
      - Hence the freeing of files can be moved outside file_list_lock()
      
      - Replace euid test with capable(CAP_SYS_ADMIN).
      
      - Tidy various other things up.
      4cac8a28
    • Andrew Morton's avatar
      [PATCH] file_list cleanup · d684d33e
      Andrew Morton authored
      Replace the odd handling of f_list.next = NULL with list_emptiness.
      d684d33e
    • Andrew Morton's avatar
      [PATCH] file->f_list locking in tty_io.c · ca364896
      Andrew Morton authored
      release_mem() is altering the file->f_list lists without taking the
      appropriate spinlock.
      ca364896
    • Andrew Morton's avatar
      [PATCH] file_list_lock contention fixes · cc6c76b9
      Andrew Morton authored
      Patch from Manfred Spraul <manfred@colorfullife.com>
      
      Fixes the lock contention over file_list_lock by simply removing the unneeded
      anon_list.  So filp allocation does not need to take a global lock any more.
      
      The use of a spinlock to protect files_stat.nr_files is a bit awkward, but
      the alternative is a custom sysctl handler, and isn't much more efficient
      anyway.
      cc6c76b9
    • Andrew Morton's avatar
      [PATCH] Fix memory leak in copy_thread · 8a29d3f1
      Andrew Morton authored
      Patch from Andi Kleen <ak@muc.de>
      
      copy_thread could leak memory if you had a io bitmap and passed wrong
      arguments to the new clone flags.
      8a29d3f1
    • Andrew Morton's avatar
      [PATCH] use set_current_state in mm · 1366cac2
      Andrew Morton authored
      Patch from Robert Love <rml@tech9.net>
      
      There are a couple uses of 'p->state=foo' in mm/ which are open coded.
      This patch converts them to the proper [__]set_current_state() function.
      1366cac2
    • Andrew Morton's avatar
      [PATCH] use set_current_state in fs · 55b31e11
      Andrew Morton authored
      Patch from Robert Love <rml@tech9.net>
      
      This patch is by Inaky Perez-Gonzalez.
      
      There are a couple uses of 'p->state=foo' in fs/ which are open coded.
      This patch converts them to the proper [__]set_current_state() function.
      55b31e11
    • Andrew Morton's avatar
      [PATCH] timer re-addition lockup fix · bb8c9453
      Andrew Morton authored
      This is a forward-port of Andrea's fix in 2.4.
      
      If a timer handler re-adds a timer to go off right now, __run_timers() will
      never terminate.  (I wrote a test.  It happens.)
      
      Fix that up by teaching internal_add_timer() to detect when it is being
      called from within the context of __run_timers() and to park newly-added
      timers onto a temp list instead.  These timers are then added for real by
      __run_timers(), after it has finished processing all pending timers.
      bb8c9453
    • Andrew Morton's avatar
      [PATCH] timer code cleanup · 4d888117
      Andrew Morton authored
      - Use list_head functions rather than open-coding them
      
      - Use time comparison macros rather than open-coding them
      
      - Hide some ifdefs
      
      - uninline internal_add_timer().  Saves half a kilobyte of text.
      4d888117
    • Andrew Morton's avatar
      [PATCH] remove unused block congestion code · 0d61cac6
      Andrew Morton authored
      Patch from: Hugh Dickins <hugh@veritas.com>
      
      Removes a ton of dead code from ll_rw_blk.c.  I don't expect we'll be using
      this now.
      0d61cac6
    • Andrew Morton's avatar
      [PATCH] Pass the load address into ELF_PLAT_INIT() · 544db1a2
      Andrew Morton authored
      Patch from Anton Blanchard <anton@samba.org>
      
      With ppc64 64bit dynamic executables we have to relocate the contents of the
      function descriptor.  Passing in the load address to ELF_PLAT_INIT allows us
      to do this.
      
      The patch allows ppc64 to run 64-bit executables and is a no-op for other
      architectures.
      544db1a2
    • Andrew Morton's avatar
      [PATCH] Fix noirqbalance · eb5ef7e6
      Andrew Morton authored
      Patch from Zwane Mwaikambo <zwane@linuxpower.ca>
      
      This patch fixes what seems to have been a longstanding bug. Ever since we
      moved cpu bringup later into the boot process, we end up programming the
      ioapics before we have any of our possible cpus in the cpu_online_map.
      Therefore leading to the following current situation;
      
      For walmart-smp, bigsmp and summit we set the logical destination for cpu
      to TARGET_CPUS which can depend on the cpu_online_map, so what you would
      normally see with noirqbalance would be all interrupts handled on cpu0
      since at that stage no other cpu apart from the BSP is online.
      
      You can check for this by looking at the ioredtbls at boottime for a two
      way system;
      
      .... IRQ redirection table:
       NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect:
       00 000 00  1    0    0   0   0    0    0    00
       01 001 01  0    0    0   0   0    1    1    39
       02 001 01  0    0    0   0   0    1    1    31
       03 001 01  0    0    0   0   0    1    1    41
       04 001 01  0    0    0   0   0    1    1    49
       05 001 01  0    0    0   0   0    1    1    51
       06 001 01  0    0    0   0   0    1    1    59
      
      Notice that 'Log' is set to 1 instead of 3.
      
      This patch will simply reprogram all the ioredtbls to handle the other
      online cpus.
      
      Patch tested on my 2way P2-400 and a 16way NUMAQ both with noirqbalance.
      It will not affect the irqbalance case because we are simply setting
      TARGET_CPUS which is done anyway.
      
      before:
        CPU0       CPU1
        0:    1495632          0    IO-APIC-edge  timer
        1:       4270          0    IO-APIC-edge  i8042
        2:          0          0          XT-PIC  cascade
        8:          1          0    IO-APIC-edge  rtc
       12:      83592          0    IO-APIC-edge  i8042
       14:      93791          0    IO-APIC-edge  ide0
       15:     103167          0    IO-APIC-edge  ide1
       17:    1396088          0   IO-APIC-level  EMU10K1, eth0
       18:      56125          0   IO-APIC-level  aic7xxx, aic7xxx
       19:       2258          0   IO-APIC-level  uhci-hcd, eth1, serial
      NMI:          0          0
      LOC:    1495566    1497133
      
      after:
                 CPU0       CPU1
        0:    1046157    1015670    IO-APIC-edge  timer
        1:       4923       4173    IO-APIC-edge  i8042
        2:          0          0          XT-PIC  cascade
        8:          1          0    IO-APIC-edge  rtc
       12:      48596      48968    IO-APIC-edge  i8042
       14:       4238       3416    IO-APIC-edge  ide0
       15:      25362      31525    IO-APIC-edge  ide1
       17:       3757       4014   IO-APIC-level  EMU10K1, eth0
       18:        335        366   IO-APIC-level  aic7xxx, aic7xxx
       19:       1052        908   IO-APIC-level  uhci-hcd, eth1
      NMI:          0          0
      LOC:    2061856    2061893
      eb5ef7e6
    • Matthew Wilcox's avatar
      [PATCH] PARISC update · 7c08ac42
      Matthew Wilcox authored
      PA-RISC patches for 2.5.65:
      
       - Only remove palo.conf on a `make mrproper'
       - Add a \ continuation to kernel/Makefile
       - Reindent cache.c
       - Always call schedule_tail
       - Fix some typos in the hardware database
       - Signal handling changes
       - RAID, Device Mapper & BLKSZGET ioctl32 translations
       - Clean up pci host bridge handling a bit.
       - Make IDE link again
       - Fix up compat changes
       - Improve stack dumping code
      7c08ac42
  2. 17 Mar, 2003 7 commits
    • Linus Torvalds's avatar
      Linux 2.5.65 · b486a581
      Linus Torvalds authored
      b486a581
    • Greg Kroah-Hartman's avatar
      Merge kroah.com:/home/greg/linux/BK/bleed-2.5 · b9b40b69
      Greg Kroah-Hartman authored
      into kroah.com:/home/greg/linux/BK/gregkh-2.5
      b9b40b69
    • Roland McGrath's avatar
      [PATCH] signal fix for wedge on multithreaded core dump · 874f2e47
      Roland McGrath authored
      This is a fix made almost a month ago, during the flurry of signal changes.
      I didn't realize until today that this hadn't made it into 2.5.  Sorry
      about the delay.
      
      This fix is necessary to avoid sometimes wedging in uninterruptible sleep
      when doing a multithreaded core dump triggered by a process signal (kill)
      rather than a trap.  You can reproduce the problem by running your favorite
      multithreaded program (NPTL) and then using "kill -SEGV" on it.  It will
      often wedge.  The actual fix could be just a two line diff:
      
      +                       if (current->signal->group_exit)
      +                               goto dequeue;
      
      after the group_exit_task check.  That is the fix that has been used in
      Ingo's backport for weeks and tested heavily (well, as heavily as core
      dumping ever gets tested, but it's been in our production systems).
      
      But I broke the hair out into a separate function.  The patch below has the
      same effect as the two-liner, and no other difference.  I have tested
      2.5.64 with this patch and it works for me, though I haven't beat on it.
      
      The way the wedge happens is that for a core-dump signal group_send_sig_info
      does a group stop of other threads before the one thread handles the fatal
      signal.  If the fatal thread gets into do_coredump and coredump_wait first,
      then other threads see the group stop and suspend with SIGKILL pending.
      All other fatal cases clear group_stop_count, so this is the only way this
      ever happens.  Checking group_exit fixes it.  I didn't make do_coredump
      clear group_stop_count because doing it with the appropriate ordering and
      locking doesn't fit the organization that code.
      874f2e47
    • Andries E. Brouwer's avatar
      [PATCH] fix affs/super.c · e54f721e
      Andries E. Brouwer authored
      Mounting a non-affs filesystem as affs crashes the kernel.
      The reason is the
      	sbi = kmalloc(sizeof(struct affs_sb_info), GFP_KERNEL);
      	memset(sbi, 0, sizeof(*AFFS_SB));
      where the second sizeof is 1, so that sbi is not zeroed at all.
      
      Also, avoid a warning for printk of sector_t in amigaffs.h.
      e54f721e
    • Jens Axboe's avatar
      [PATCH] extra tokens after endif · e22feb18
      Jens Axboe authored
      e22feb18
    • Jens Axboe's avatar
      [PATCH] honor hard barrier in deadline · cae0dc9c
      Jens Axboe authored
      Previously, we only honored barriers wrt merging. Really honor them now,
      move all pending requests to dispatch list and add the hard barrier at
      the back.
      cae0dc9c
    • Kai Germaschewski's avatar
      kbuild: Fix asm/offset.h generation · 20810f64
      Kai Germaschewski authored
      gen-asm-offsets, the most common user of the new filechk function, needs
      to be fed input from $< (the first prerequisite).
      20810f64
  3. 16 Mar, 2003 7 commits
    • Greg Kroah-Hartman's avatar
      Merge bk://linuxusb@bkbits.net/linus-2.5 · 6606cf5e
      Greg Kroah-Hartman authored
      into kroah.com:/home/linux/linux/BK/gregkh-2.5
      6606cf5e
    • Andrew Morton's avatar
      [PATCH] miropcm20-rds.c compile fixes · 5ebe2675
      Andrew Morton authored
      Patch from Adrian Bunk <bunk@fs.tum.de>
      
      It would be nice if everyone would try to compile the patched files
      before submitting patches...
      5ebe2675
    • Andrew Morton's avatar
      [PATCH] fix raid0 oops · c96c506f
      Andrew Morton authored
      raid0 doesn't have a thread, so md_wakeup_thread() derefs NULL.
      
      Neil may end up doing this differently, but meanwhile....
      c96c506f
    • Andrew Morton's avatar
      [PATCH] AFFS fixes · e431dd00
      Andrew Morton authored
      Patch from Roman Zippel <zippel@linux-m68k.org>
      
      - remove lock_kernel() (It was buggy too - there are at present two missing
        unlock_kernel()s)
      
      - fixes a bitmap corruption problem.
      e431dd00
    • Andrew Morton's avatar
      [PATCH] initialise inode->i_rdev · d4d68172
      Andrew Morton authored
      From latest -aa kernels.
      d4d68172
    • Andrew Morton's avatar
      [PATCH] kiocbClear should use clear_bit instead of set_bit · e1e412da
      Andrew Morton authored
      Patch from: Suparna Bhattacharya <suparna@in.ibm.com>
      
      Just an obvious fix.
      The kiocbClearX macros were doing a set_bit !
      They should be calling clear_bit.
      Ran into this now that I'm actually using kiocbClearKicked.
      e1e412da
    • Andrew Morton's avatar
      [PATCH] ext2: block allocation fix · 8262499b
      Andrew Morton authored
      Patch from Alex Tomas <bzzz@tmi.comex.ru>
      
      There is a logic error in ext2_new_block().  If we manage to reserve some
      blocks in the final blockgroup, local variable `bit' will be equal to
      sbi->s_groups_count and we erroneously assume that the allocation failed.
      
      Fix that up by testing local variable `group_alloc' instead.
      8262499b