1. 12 Mar, 2004 12 commits
    • Andrew Morton's avatar
      [PATCH] i386 very early memory detection cleanup patch · 973adfc0
      Andrew Morton authored
      From: "H. Peter Anvin" <hpa@zytor.com>
      
      This patch cleans up the very early memory setup on the i386 platform.  In
      particular, it removes the hard-coded 8 MB limit completely by dynamically
      creating the early-boot pagetables rather than having them hard coded.
      
      While I was at it, I changed head.S so that it always sets up a local GDT;
      this means among other things that SMP and VISWS are no longer special
      cases, and is conceptually cleaner to boot.  The VISWS people have
      confirmed it works on VISWS.
      
      It also uses a separate entrypoint for non-boot processors since this is
      completely kernel-internal anyway.  This eliminates the need to set %bx on
      boot.  (If you think this is a bad idea I can eliminate this change; it
      just seemed cleaner to me to do it this way.)
      
      Additionally, zero bss with rep;stosl rather that rep;stosb.
      973adfc0
    • Andrew Morton's avatar
      [PATCH] genrtc: cleanups · e47d860c
      Andrew Morton authored
      From: "Randy.Dunlap" <rddunlap@osdl.org>
      
      From: Luiz Fernando Capitulino <lcapitulino@prefeitura.sp.gov.br>
      
      remove ifdef/endif in rtc_generic_init().
      use returned error code;
      e47d860c
    • Andrew Morton's avatar
      [PATCH] remove __io_virt_debug · a1d75429
      Andrew Morton authored
      From: Brian Gerst <bgerst@didntduck.org>
      
      Drivers should all be converted to use ioremap() or isa_*() by now.
      a1d75429
    • Andrew Morton's avatar
      [PATCH] teach /proc/kmsg about O_NONBLOCK · 48c26153
      Andrew Morton authored
      If there's nothing available and the file is O_NONBLOCK, return -EAGAIN.
      
      This is a bit grubby - really we should push the file* down into do_syslog()
      and handle it inside the spinlock.
      48c26153
    • Andrew Morton's avatar
      [PATCH] time interpolator fix · 40aaa9b3
      Andrew Morton authored
      From: john stultz <johnstul@us.ibm.com>
      
      In developing the ia64-cyclone patch, which implements a cyclone based time
      interpolator, I found the following bug which could cause time
      inconsistencies.
      
      In update_wall_time_one_tick(), which is called each timer interrupt, we
      call time_interpolator_update(delta_nsec) where delta_nsec is approximately
      NSEC_PER_SEC/HZ.  This directly correlates with the changes to xtime which
      occurs in update_wall_time_one_tick().
      
      However in update_wall_time(), on a second overflow, we again call
      time_interpolator_update(NSEC_PER_SEC).  However while the components of
      xtime are being changed, the overall value of xtime does not (nsec is
      decremented NSEC_PER_SEC and sec is incremented).  Thus this call to
      time_interpolator_update is incorrect.
      
      This patch removes the incorrect call to time_interpolator_update and was
      found to resolve the time inconsistencies I had seen while developing the
      ia64-cyclone patch.
      40aaa9b3
    • Andrew Morton's avatar
      [PATCH] fb_console_init fix · 688466a4
      Andrew Morton authored
      From: James Simmons <jsimmons@infradead.org>
      
      This patch fixes fb_console_init from being called twice.  I still need to
      fix set_con2fb but this helps but this is still important to get in.
      688466a4
    • Andrew Morton's avatar
      [PATCH] read-only support for UFS2 · e3459dfb
      Andrew Morton authored
      From: Niraj Kumar <niraj17@iitbombay.org>
      
      This patch adds read-only support for ufs2 (used in FreeBSD 5.x) variant of
      ufs filesystem.  For filesystem specific tools, see
      http://ufs-linux.sourceforge.com .
      e3459dfb
    • Andrew Morton's avatar
      [PATCH] adaptive lazy readahead · 202775d6
      Andrew Morton authored
      From: Suparna Bhattacharya <suparna@in.ibm.com>
      
      From: Ram Pai <linuxram@us.ibm.com>
      
      Pipelined readahead behaviour is suitable for sequential reads, but not for
      large random reads (typical of database workloads), where lazy readahead
      provides a big performance boost.
      
      One option (suggested by Andrew Morton) would be to have the application
      pass hints to turn off readahead by setting the readahead window to zero
      using posix_fadvise64(POSIX_FADV_RANDOM), and to special-case that in
      do_generic_mapping_read to completely bypass the readahead logic and
      instead read in all the pages needed directly.
      
      This was the idea I started with.  But then I thought, we can do a still
      better job ?  How about adapting the readahead algorithm to lazy-read or
      non-lazy-read based on the past i/o patterns ?
      
      The overall idea is to keep track of average number of contiguous pages
      accessed in a file.  If the average at any given time is above ra->pages
      the pattern is sequential.  If not the pattern is random.  If pattern is
      sequential do non-lazy-readahead( read as soon as the first page in the
      active window is touched) else do lazy-readahead.
      
      I have studied the behaviour of this patch using my user-level simulator.
      It adapts pretty well.
      
      Note from Suparna: This appears to bring streaming AIO read performance for
      large (64KB) random AIO reads back to sane values (since the lazy readahead
      backout in the mainline).
      202775d6
    • Andrew Morton's avatar
      [PATCH] readdir() cleanups · 724feb8d
      Andrew Morton authored
      From: <viro@parcelfarce.linux.theplanet.co.uk>
      
      cramfs and freevxfs explicitly mark themselves readonly (as other r/o fs
      do).
      
      afs marked noatime (ACKed by maintainer)
      
      filesystems that do not do update_atime() in their ->readdir() had been
      explicitly marked nodiratime.  NOTE: cifs, coda and ncpfs almost certainly
      need full noatime as we currently have in nfs and afs.
      
      update_atime() call shifted to callers of ->readdir() and out of
      ->readdir() instances.  Bugs caught:
      
        dcache_readdir() updated atime only if it reached EOF.
      
        bfs_readdir() - ditto.
      
        qnx4_readdir() - ditto.
      724feb8d
    • Andrew Morton's avatar
      [PATCH] Clean up sys_ioperm stubs · 68f79793
      Andrew Morton authored
      From: Brian Gerst <bgerst@didntduck.org>
      
      Remove stubs for sys_ioperm for non-x86 arches, using sys_ni_syscall
      instead where applicable.  Support for sys_ioperm is unconditionally no for
      non-x86 arches.
      68f79793
    • Andrew Morton's avatar
      [PATCH] ppc64: fix initialisation of NUMA arrays · ef6574ff
      Andrew Morton authored
      From: Anton Blanchard <anton@samba.org>
      
      We were hitting problems on machines with cpu_possible != cpu_online when
      NUMA was enabled.  The debug checks would trip during scheduler init
      because we iterate through all possible cpus whereas we only set up NUMA
      information for online cpus.
      
      Longer term we should have a cpu_up hook which sets up its NUMA information
      but for now we initalise all possible cpus and memory to node 0.
      ef6574ff
    • Andrew Morton's avatar
      [PATCH] print kernel version in oops messages · dcdeeef8
      Andrew Morton authored
      From: Arjan van de Ven <arjanv@redhat.com>
      
      Unfortunatly a large portion of the oops reports lack the basic
      information about what kernel version the oops is for; it's trivial to just
      print this in the oops as well to improve the usefulness of bugreports...
      dcdeeef8
  2. 11 Mar, 2004 5 commits
    • Benjamin Herrenschmidt's avatar
      [PATCH] ppc32: Fix G5 config space access lockup · 19175f1d
      Benjamin Herrenschmidt authored
      Fix a typo in the code that prevents lockup on config space access
      to sleeping devices on ppc32/G5. Please apply.
      19175f1d
    • Anton Blanchard's avatar
      [PATCH] fix ppc64 in kernel syscalls · cb0cd969
      Anton Blanchard authored
      Thanks to some great debugging work by Olaf Hering and Marcus Meissner
      it has been noticed that the current ppc64 syscall code is corrupting
      4 bytes past errno. Why we even bothered to set errno beats me, its
      unusable in the kernel.
      
      Since we had to reinstate the inline syscall code we can go back to
      using it for those few syscalls that we call. Especially now with
      Randy's syscall prototype cleanup we should be calling them directly
      but we can do that sometime later.
      cb0cd969
    • Jens Axboe's avatar
      [PATCH] CDROMREADAUDIO dma support · f644f166
      Jens Axboe authored
      This small patch builds on top of the blk_rq_map_user() patch just sent,
      and enables us to easily support DMA for CDROMREADAUDIO cdda extraction.
      It's quite amazing how much cool stuff you can with the new block layer
      :-)
      
      Patch has intelligent fall back from multi frame dma to single frame
      dma, and further to old-style pio ripping in case of hardware problems.
      f644f166
    • Jens Axboe's avatar
      [PATCH] user data -> request mapping · 637b48c8
      Jens Axboe authored
      This patch allows you to map a request with user data for io, similarly
      to what you can do with bio_map_user() already to a bio. However, this
      goes one step further and populates the request so the user only has to
      fill in the cdb (almost) and put it on the queue for execution. Patch
      converts sg_io() to use it, next patch I'll send adapts cdrom layer to
      use it for zero copy cdda dma extraction.
      637b48c8
    • Stephen Rothwell's avatar
      [PATCH] fix PPC64 iSeries virtual console devices · 95902cd8
      Stephen Rothwell authored
      While playing with udev, I discovered that the virtual console
      devices on iSeries had there minor numbers off by one i.e. /dev/tty1
      was minor 2!
      
      This fixes it.
      95902cd8
  3. 10 Mar, 2004 14 commits
    • Andi Kleen's avatar
      [PATCH] Fix a 64bit bug in kobject module request · 19c0199a
      Andi Kleen authored
      From Takashi Iwai
      
      kobj_lookup had a 64bit bug, which caused the request of a unknown
      character device to burn CPU instead of failing quickly.
      19c0199a
    • Andi Kleen's avatar
      [PATCH] x86-64 merge for 2.6.4 · 7abe2c67
      Andi Kleen authored
      The biggest new feature is fixed 32bit vsyscall (SYSCALL+SYSENTER)
      support, mostly from Jakub Jelinek.  This increases 32bit syscall
      performance greatly (latency halved and better).  The SYSENTER for Intel
      support required some infrastructure changes, but seems to work now too.
      
      The 64bit vsyscall vtime() just references xtime.tv_sec now.  This
      should make it a lot faster too.
      
      A fix for some Intel IA32e systems.  Also a few long standing bugs in
      NMI like exception handlers were fixed.
      
      And a lot of other bug fixes.
      
      Full changeLog:
       - Clean up 32bit address room limit handling, fix 3gb personality
       - Move memcpy_{from,to}io export to ksyms.c file. This seems to work
         around a toolchain bug (Andreas Gruenbacher)
       - Update defconfig
       - ACPI merges from i386 (SBF should work now, acpi=strict)
       - Implement mmconfig support based on i386 code (untested)
       - Fix i386/x86-64 pci source file sharing
       - Implement ptrace access for 32bit vsyscall page
       - Always initialize all 32bit SYSENTER/SYSCALL MSRs.
       - Export run time cache line size to generic kernel
       - Remove explicit CPUID in ia32 syscall code
       - Fill in most of boot_cpu_data early
       - Remove unused PER_LINUX32 setup
       - Fix syscall trace in fast 32bit calls (Suresh B. Siddha)
       - Tighten first line of the oops again.
       - Set up ptrace registers correctly for debug,ss,double fault exceptions
       - Fix 64bit bug in sys_time64
       - Optimize time syscall/vsyscall to only read xtime
       - Fix csum_partial_copy_nocheck
       - Remove last traces of FPU emulation
       - Check properly for rescheduling in exceptions with own stack
       - Harden exception stack entries (#SS,#NMI,#MC,#DF,#DB) against bogus GS
       - Use an exception stack for machine checks
       - Handle TIF_SINGLESTEP properly in kernel exit
       - Add exception stack for debug handler
       - Disable X86_HT for Opteron optimized builds because it pulls in ACPI_BOOT
       - Fix CONFIG_ACPI_BOOT compilation without CONFIG_ACPI
       - Fix eflags handling in SYSENTER path (Jakub Jelinek)
       - Use atomic counter for enable/disable_hlt
       - Support 32bit SYSENTER vsyscall too (Jakub Jelinek)
       - Don't redefine Dprintk
       - Change some cpu/apic id arrays to char
       - Support arbitary cpu<->apicid in hard_smp_processor_id (Surresh B Sidda)
       - Move K8 erratum #100 workaround into slow path of page fault handler.
       - Fix 32bit cdrom direct access ioctls (Jens Axboe)
       - Enable 32bit vsyscalls by default
       - Fix 32bit vsyscalls (Jakub Jelinek)
      7abe2c67
    • Benjamin Herrenschmidt's avatar
      [PATCH] G5 temperature control update · 626942a4
      Benjamin Herrenschmidt authored
      This makes the temperature control code more robust, putting less
      pressure on i2c, and work around occasional misconfiguration of the ADC
      chips leading to incorrect temperature readings.
      626942a4
    • Linus Torvalds's avatar
      Linux 2.6.4 · 0a912921
      Linus Torvalds authored
      0a912921
    • Benjamin Herrenschmidt's avatar
      [PATCH] Fix lockup accessing config space on G5 · a1ee5595
      Benjamin Herrenschmidt authored
      This patch fixes the code that workaround lockups when accessing
      the config space of devices on K2 when they are shut down. The
      code was there but in the wrong place ;) And a typo prevented the
      ohci1394 version of it from working.
      a1ee5595
    • Linus Torvalds's avatar
      Merge bk://gkernel.bkbits.net/net-drivers-2.5 · 4838bc63
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.5/linux
      4838bc63
    • Don Fry's avatar
      [PATCH] pcnet32.c oops · d57064b7
      Don Fry authored
      When adding an additional device, a variable which has been removed
      is accessed.  Adding the first device or a 4-port card works.
      Adding a second device was not done in PCI hot plug testing.  Now
      tested on IA32.
      d57064b7
    • Linus Torvalds's avatar
      Make bad_page() print out the page address. · ac464b3f
      Linus Torvalds authored
      The bug turned out to be memory corruption by DMA, and
      the corrupted address made it that much more obvious.
      ac464b3f
    • David Brownell's avatar
      [PATCH] Proper OHCI unlink fix. · 6c5446e4
      David Brownell authored
      Getting some blood sugar made the real fix for that become
      obvious! This replaces the preceding TEMPORARY hack.
      
      Only unlink EDs that aren't already being unlinked!
      
      Duh.
      6c5446e4
    • David Brownell's avatar
      [PATCH] USB: fix OHCI list corruption · b468eef0
      David Brownell authored
      Fix some OHCI TD list corruption issues:
      
          - Don't rewrite HC registers holding ED pointers until the HC
            had a good chance to finish using them.
      
          - Don't ever modify ed->hwTailP
      
      Adds text describing the different ED states.
      
      Adds TEMPORARY hack that may make a "rm_list becomes circular" bug
      continuable.
      b468eef0
    • Linus Torvalds's avatar
      Revert 8259 timer ack workaround · 87a5b745
      Linus Torvalds authored
      This patch was trying to work around buggy SMM bios but causes problems
      by not deasserting NMI irq line (reported by Thomas Schlicht) for some
      integrated local apic.
      
      This patch was written originally as an optimization (with the side
      effect to fix those bugged bios) but was never applied to 2.4 tree.
      
      The rational was: fix your bios instead. 
      
      Cset exclude: akpm@osdl.org|ChangeSet|20040219045328|16041
      87a5b745
    • Andrew Morton's avatar
      [PATCH] tty oops fix · 4eedca38
      Andrew Morton authored
      From: William Lee Irwin III <wli@holomorphy.com>
      
      Remember to invalidate the task->tty of threads, otherwise prod_pid_stat()
      later stumbles over the dangling pointers and crashes.
      4eedca38
    • Linus Torvalds's avatar
      Make bad_page() print out information about who triggered it. · 3a1bf819
      Linus Torvalds authored
      The condition still seems to happen on ppc64.
      3a1bf819
    • Linus Torvalds's avatar
  4. 09 Mar, 2004 9 commits
    • Petr Vandrovec's avatar
      [PATCH] ncpfs fails to correctly retry requests on timeout · d4aecd1a
      Petr Vandrovec authored
      sock_sendmsg() modifies iovec passed to it - it sets all length members of
      iovec array to zero on success transmission (and even on failed if it
      fails after iovec copy, but...) and advances pointers to point at the end
      of buffers used. This has an unfortunate effect that ncpfs's retry on
      failure does not work for IPX/UDP connections - kernel refused to do anything
      because length from iovec was 0 while length passed to sock_sendmsg() was
      correct.
      
      This simple fix gets rid of a problem by creating temporary iovec copy, which can
      sock_sendmsg destroy if it has such wish.
      d4aecd1a
    • Gerd Knorr's avatar
      [PATCH] bttv input update · 88593e9d
      Gerd Knorr authored
      This adds infrared remote support for a few more bt878-based TV cards.
      88593e9d
    • Jens Axboe's avatar
      [PATCH] set request fastfail bit correctly · c5046934
      Jens Axboe authored
      From Mike Christie <michaelc@cs.wisc.edu>
      
      The first three bio and request flags are no longer identical.  The bio
      barrier and rw flags are getting set in __make_request and get_request
      respectively, and failfast is getting left out.
      
      This sets the request's failfast flag in __make_request when the bio's
      flag is set.
      c5046934
    • Anton Blanchard's avatar
      [PATCH] ppc64 POWER3 segment table fix · c5e296f5
      Anton Blanchard authored
      The ppc64 fix last week (enforcing permissions on the kernel when
      accessing userspace pages) uncovered a bug on POWER3/RS64. We werent
      zeroing the segment table entry before overwriting it and it was possible
      for the ks bit to be set on a kernel segment.
      
      The VSID mask was also changed to match reality (we only use 13 bits).
      c5e296f5
    • Linus Torvalds's avatar
      Merge bk://are.twiddle.net/axp-2.6 · 0b5403cf
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.5/linux
      0b5403cf
    • Richard Henderson's avatar
      [ALPHA] Add stat64 syscalls. · bb60cd07
      Richard Henderson authored
      bb60cd07
    • Benjamin Herrenschmidt's avatar
      [PATCH] ppc64: Let OF initialize all displays in the system · a3c454e1
      Benjamin Herrenschmidt authored
      This patch reworks the early boot calls to OF to initialize displays.
      
      All present displays are now initialized in reverse order so the
      OF console stays on the first one. Initializing them all is necessary
      for dual head configurations as we need OF driver to properly setup
      the secondary TMDS of the video card, XFree isn't able to do that
      currently
      a3c454e1
    • Benjamin Herrenschmidt's avatar
      [PATCH] ppc64: Fix occasional crash at boot in OF interface · 8661a5ff
      Benjamin Herrenschmidt authored
      The assembly code used to callback into Open Firmware client
      interface in 32 bits mode used to backup the stack pointer in
      the SPRG2 register.
      
      That upsets Apple's implementation of Open Firmware significantly
      and maybe others, causing them to crash in _some_ operations,
      apparently the trigger is to cause a segment or hash table
      fault, typically happens when letting that code initialize the
      second display.
      
      This patch fixes it, along with other cleanups of that asm code,
      it did unnecessary register restores and backing up the stack
      pointer is actually useless anyway.
      8661a5ff
    • Benjamin Herrenschmidt's avatar
      [PATCH] Fix PCI<->OF matching on G5 AGP bus · 6fb338db
      Benjamin Herrenschmidt authored
      Strangely, I though I fixed that a long time ago, but it was still
      broken in the current tree...
      
      Drivers like radeonfb fail to find the OF device matching a given PCI
      device on the G5 AGP bus because of some bus renumbering tricks.  This
      patch fixes the problem by fixing the bus numbers in the OF node.  This
      corrects radeonfb and other drivers looking for EDID / PLL datas in the
      OF node.
      6fb338db