1. 14 May, 2004 40 commits
    • Santiago Leon's avatar
      [PATCH] PowerPC Virtual Ethernet links to /sys/class/net/ethX · 5ea484a8
      Santiago Leon authored
      This adds links to the driver and device inside /sys/class/net/ethX for
      PowerPC Virtual Ethernet devices.
      5ea484a8
    • Santiago Leon's avatar
      [PATCH] PowerPC Virtual Ethernet duplicate MAC addresses · 49ac9cc3
      Santiago Leon authored
      This fixes a bug where different partitions were assigned the same MAC
      address.  Also, according to Anton, gcc 3.5 didn't like our mac_addr_p
      gymnastics, so this ends up fixing that as well.
      49ac9cc3
    • Benjamin Herrenschmidt's avatar
      [PATCH] ppc64: Add proper SMP init on dual 970FX based machines · 862d5483
      Benjamin Herrenschmidt authored
      This patch fixes SMP boot on Apple Xserve G5
      862d5483
    • Andrew Morton's avatar
      [PATCH] ppc64 iSeries: allow read only virtual disks · 4d45d920
      Andrew Morton authored
      From: Stephen Rothwell <sfr@canb.auug.org.au>
      
      It is possible to attach a virtual disk to a logical partition on an iSeries
      machine so that it is read only to the partition.  This patch allows Linux to
      use such virtual disks.
      4d45d920
    • Andrew Morton's avatar
      [PATCH] ppc64: strengthen I/O and memory barriers · 2c3956c9
      Andrew Morton authored
      From: Paul Mackerras <paulus@samba.org>
      
      After I sent the recent patch to include/asm-ppc64/io.h which put stronger
      barriers in the I/O accessor macros, Paul McKenney pointed out to me that a
      writex/outx could still slide out from inside a spinlocked region.  This patch
      makes the barriers a bit stronger so that this can't happen.  It means that we
      need to use a sync instruction for wmb (a full "heavyweight" sync), since
      drivers rely on wmb for ordering between writes to system memory and writes to
      a device.
      
      I have left smb_wmb() as a lighter-weight barrier that orders stores, and
      doesn't impose an ordering between cacheable and non-cacheable accesses (the
      amusingly-named eieio instruction).  I am assuming here that smp_wmb is only
      used for ordering stores to system memory so that another cpu will see them in
      order.  It can't be used for enforcing any ordering that a device will see,
      because it is just a gcc barrier on UP.
      
      This also changes the spinlock/rwlock unlock code to use lwsync ("light-weight
      sync") rather than eieio, since eieio doesn't order loads, and we need to
      ensure that loads stay inside the spinlocked region.
      2c3956c9
    • Andrew Morton's avatar
      [PATCH] ppc64: Kconfig bits for CONFIG_SPINLINE · 24f59760
      Andrew Morton authored
      From: Paul Mackerras <paulus@samba.org>
      
      When I sent the patch to uninline the spinlocks, I inadvertently left out
      the change to arch/ppc64/Kconfig which defines the config symbol for
      inlining the locks (CONFIG_SPINLINE now).  This patch adds it.  It also
      adds a symbol CONFIG_PPC_SPLPAR which enables the code for calling the
      hypervisor on shared-processor logically-partitioned system to yield the
      physical processor to the lock holder when spinning.  (The code that
      depends on this symbol is already present in arch/ppc64/lib/locks.c.)
      24f59760
    • Andrew Morton's avatar
      [PATCH] ppc64: remove iseries interrupt recursion workaround · b2590fb0
      Andrew Morton authored
      From: Anton Blanchard <anton@samba.org>
      
      It turns out we do avoid irq recursion on iseries so remove the workaround.
      b2590fb0
    • Andrew Morton's avatar
      [PATCH] ppc64: NVRAM fixes · f1061519
      Andrew Morton authored
      From: Anton Blanchard <anton@samba.org>
      
      We check nvram_fetch/nvram_store against -1, so better not make these
      unsigned.
      f1061519
    • Andrew Morton's avatar
      [PATCH] ppc64: align some heavily used variables · 9d0eb0ab
      Andrew Morton authored
      From: Anton Blanchard <anton@samba.org>
      
      Based on feedback from the hardware guys align jiffies and tb_last_stamp.
      We update both regularly and there are other read only, heavily accessed
      things that share those cachelines.
      9d0eb0ab
    • Andrew Morton's avatar
      [PATCH] ppc64: set MSR_RI in iseries exception code · 349f2cf4
      Andrew Morton authored
      From: Anton Blanchard <anton@samba.org>
      
      We need to set MSR_RI in iseries exception prolog.
      349f2cf4
    • Andrew Morton's avatar
      [PATCH] ppc64: fix radix tree allocation under spinlock · 554a2bbe
      Andrew Morton authored
      From: Anton Blanchard <anton@samba.org>
      
      We were allocating radix tree nodes in the interrupt code with GFP_KERNEL
      under a spinlock.  Change it to GFP_ATOMIC.
      554a2bbe
    • Andrew Morton's avatar
      [PATCH] ppc32: Move declarations into headers · bb2a0459
      Andrew Morton authored
      From: Paul Mackerras <paulus@samba.org>
      
      The patch below moves some declarations from C files into the appropriate
      header file in include/asm-ppc (and removes an unused local variable in a
      function).
      bb2a0459
    • Andrew Morton's avatar
      [PATCH] ppc32: Fix pmac compile after OCP changes · c13dbf34
      Andrew Morton authored
      From: Paul Mackerras <paulus@samba.org>
      
      Matt Porter's recent changes broke the compile for non-4xx ppc32 systems,
      unfortunately.  I get an error that mfdcr is not defined in
      include/asm-ppc/ocp.h when compiling for powermac (reasonable, since the
      mfdcr instruction only exists on 4xx processors).  The patch below fixes
      it.
      c13dbf34
    • Andrew Morton's avatar
      [PATCH] PPC32: PPC44x ports for new OCP · c1da7a14
      Andrew Morton authored
      From: Matt Porter <mporter@kernel.crashing.org>
      
      Merge all current PPC44x ports against new OCP.
      c1da7a14
    • Andrew Morton's avatar
      [PATCH] PPC32: PPC40x ports for new OCP · a355c17b
      Andrew Morton authored
      From: Matt Porter <mporter@kernel.crashing.org>
      
      Merge all current PPC40x ports against new OCP.
      a355c17b
    • Andrew Morton's avatar
      [PATCH] PPC32: Update 4xx defconfigs · d63538d4
      Andrew Morton authored
      From: Matt Porter <mporter@kernel.crashing.org>
      
      Update all current 4xx defconfigs for new OCP.
      d63538d4
    • Andrew Morton's avatar
      [PATCH] PPC32: 4xx core fixes and 440gx PIC support · c6039095
      Andrew Morton authored
      From: Matt Porter <mporter@kernel.crashing.org>
      
      Merge misc.  4xx core fixes and support for the new cascade scheme in the
      440gx.
      c6039095
    • Andrew Morton's avatar
      [PATCH] PPC32: IBM PPC4xx-specific OCP support · 8c8b5d22
      Andrew Morton authored
      From: Matt Porter <mporter@kernel.crashing.org>
      
      Merge PPC4xx-specific OCP support for new OCP core.
      8c8b5d22
    • Andrew Morton's avatar
      [PATCH] PPC32: PPC44x lib support · 3ce4aa1b
      Andrew Morton authored
      From: Matt Porter <mporter@kernel.crashing.org>
      
      Merge PPC44x library support against new OCP.
      3ce4aa1b
    • Andrew Morton's avatar
      [PATCH] PPC32: Bubinga/405EP for new OCP · 558e7b25
      Andrew Morton authored
      From: Matt Porter <mporter@kernel.crashing.org>
      
      Merge Bubinga/405EP support against new OCP.
      558e7b25
    • Andrew Morton's avatar
      [PATCH] PPC32: New OCP core support (updated) · c907be95
      Andrew Morton authored
      From: Matt Porter <mporter@kernel.crashing.org>
      
      New OCP infrastructure ported from 2.4 along with several enhancements. 
      Updated patch with comments from hch and Valdis.
      c907be95
    • Andrew Morton's avatar
      [PATCH] PPC32: Add Book E / PPC44x specific exception support · 120cf52f
      Andrew Morton authored
      From: Matt Porter <mporter@kernel.crashing.org>
      
      Adds general Book E machine check exception support and PPC44x-specific
      machine check exception implementation.
      120cf52f
    • Andrew Morton's avatar
      [PATCH] PPC32: Add Book E / PPC44x specific exception support · 47d83679
      Andrew Morton authored
      From: Matt Porter <mporter@kernel.crashing.org>
      
      Adds general Book E debug exception support and PPC44x-specific debug
      exception implementation.
      47d83679
    • Andrew Morton's avatar
      [PATCH] PPC32: Fix copy prefetch on non coherent PPCs · 1c4a7135
      Andrew Morton authored
      From: Matt Porter <mporter@kernel.crashing.org>
      
      This patch fixes the condition where prefetching cache lines beyond a
      buffer can cause data corruption on non cache coherent PPCs.  It is a port
      of the version that went into 2.4.  From Eugene Surovegin
      <ebs@ebshome.net>.
      1c4a7135
    • Andrew Morton's avatar
      [PATCH] PPC32: Fix __flush_dcache_icache_phys() for Book E · 4bab667f
      Andrew Morton authored
      From: Matt Porter <mporter@kernel.crashing.org>
      
      This patch implements/uses __flush_dcache_icache_page() which kmaps on a
      Book E part, but keeps the existing behavior on other PowerPCs which can
      disable the MMU.
      4bab667f
    • Andrew Morton's avatar
      [PATCH] export clear_pages on ppc32 · 239adc58
      Andrew Morton authored
      From: Olaf Hering <olh@suse.de>
      
      ext3 as module is not possible in 2.6.6, clear_pages, called from clear_page,
      is not exported.
      
      Also, unexport clear_page(), which is an inline.
      239adc58
    • Andrew Morton's avatar
      [PATCH] befs: inode->i_flags thinko fix · a710c387
      Andrew Morton authored
      Jorn Engel <joern@wohnheim.fh-wedel.de>
      
      inode->i_flags should never contain fs-specific flags.  In fact, it doesn't;
      the checks against it cause "chattr +T" to be useless for ext[23].  Same bug
      was in befs as well.
      a710c387
    • Andrew Morton's avatar
      [PATCH] befs: maintainer update · c6204bb4
      Andrew Morton authored
      From: "Sergey S. Kostyliov" <rathamahata@php4.ru>
      
      Acked by Will Dyson.
      c6204bb4
    • Andrew Morton's avatar
      [PATCH] befs: debugging code cleanup · 8a64f0cb
      Andrew Morton authored
      From: "Sergey S. Kostyliov" <rathamahata@php4.ru>
      
      - Reduce stack usage.
      - Kill useless duplication of error and warning messages when debug is on. Old
      	behaviour was:
      ...
      BeFS(hda1): 
      8a64f0cb
    • Andrew Morton's avatar
      [PATCH] befs: typo fix · 50f7b6fd
      Andrew Morton authored
      From: "Sergey S. Kostyliov" <rathamahata@php4.ru>
      
      Fix really old typo in config help
      50f7b6fd
    • Andrew Morton's avatar
      [PATCH] befs: binary search microoptimisation · d22b1c8d
      Andrew Morton authored
      From: "Sergey S. Kostyliov" <rathamahata@php4.ru>
      
      Move value initialisation out of the loop body.
      d22b1c8d
    • Andrew Morton's avatar
      [PATCH] befs: microoptimisation, use befs_bread() instead of befs_bread_iaddr() · 4286d673
      Andrew Morton authored
      From: "Sergey S. Kostyliov" <rathamahata@php4.ru>
      
      We already have block number (inode->i_ino), so there is no need to calculate
      it from befs_block_run before sb_bread() call (this is what befs_bread_iaddr()
      do).
      4286d673
    • Andrew Morton's avatar
      [PATCH] befs: LBD support · 3e9e5d09
      Andrew Morton authored
      From: "Sergey S. Kostyliov" <rathamahata@php4.ru>
      
      LBD patch merged long time ago, so it is safe to pass u64 block numbers to
      sb_bread() when sector_t is large enough.
      3e9e5d09
    • Andrew Morton's avatar
      [PATCH] s390: network driver · 7747d41e
      Andrew Morton authored
      From: Martin Schwidefsky <schwidefsky@de.ibm.com>
      
      Network driver changes:
       - lcs: Add missing irb error checking.
       - lcs: Fix multicasting.
       - lcs: Use a seperate lock (ipm_lock) for multicast list.
       - lcs: Add missing in_dev_put in multicase address list handling.
       - iucv: Set static variables to NULL after kfree.
       - iucv: Do bus_unregister if module initialization fails.
       - netiucv: Convert iucvMagic to EBCDIC in con_action_start.
       - netiucv: Remove administration of ifno-stuff for device name,
       - netiucv: Add attribute to remove a netiucv device.
       - qeth: Add version string that is displayed at driver load time.
       - qeth: Fix memory leak in qeth_arp_query.
       - qeth: Remove duplicate case statements in qeth_do_ioctl.
       - qeth: Fix OSA broadcast filtering.
       - qeth: Increase timeout for purge ARP cache IPA.
       - qeth: Fix hsi device naming.
       - qeth: Add do_QDIO count to qeth performance statistics.
       - qeth: Allow writing to IP address takeover attribute only in
               state DOWN or RECOVER.
       - qeth: Fix hang when removing a vlan device.
       - qeth: Cleanup error messages for ARP commands.
       - qeth: Return EOPNOTSUPP for purge ARP on HiperSockets.
       - qeth: Drop skbs if the net_device of a qeth device is down.
       - qeth: Simplify ip address list processing.
      7747d41e
    • Andrew Morton's avatar
      [PATCH] s390: zfcp host adapter · a7a53392
      Andrew Morton authored
      From: Martin Schwidefsky <schwidefsky@de.ibm.com>
      
      zfcp host adapter change:
       - Prevent infinite retry of SCSI commands when FCP adapter is unavailable.
       - Always queue error recovery structure to the error recovery running list.
       - Add help text to zfcp config option.
      a7a53392
    • Andrew Morton's avatar
      [PATCH] s390: 3270 console driver · b42e64d4
      Andrew Morton authored
      From: Martin Schwidefsky <schwidefsky@de.ibm.com>
      
      3270 device driver change:
       - Don't allow activation of views while the initial size sensing is still
         in progress. Replace RAW3270_FLAGS_SHUTDOWN with RAW3270_FLAGS_READY.
       - Make 3270 views loadable as modules.
      b42e64d4
    • Andrew Morton's avatar
      [PATCH] s390: dasd driver · c6b04cd0
      Andrew Morton authored
      From: Martin Schwidefsky <schwidefsky@de.ibm.com>
      
      dasd driver changes:
       - Do error recovery for error recovery requests.
       - Retry request if the start_IO failed because of a timeout.
      c6b04cd0
    • Andrew Morton's avatar
      [PATCH] s390: common i/o layer · 6019886d
      Andrew Morton authored
      From: Martin Schwidefsky <schwidefsky@de.ibm.com>
      
      Common i/o layer changes:
       - Delay unregister/register of ccw devices reappering on a different
         subchannel. Search for the old ccw_device & subchannel for the
         reattached device and deregister it too to avoid inconsistencies.
       - Fix path grouping for devices that present command reject for
         SetPGID but not for SensePGID.
      6019886d
    • Andrew Morton's avatar
      [PATCH] s390: core · 9cb51c16
      Andrew Morton authored
      From: Martin Schwidefsky <schwidefsky@de.ibm.com>
      
      s390 core changes:
       - Rename idle_cpu_mask to nohz_cpu_mask as agreed with Dipankar.
       - Refine compiler version check for "Q" constraints in uaccess.h.
       - Store per process ptrace information to the correct place.
       - Fix per cpu data access for 64-bit modules.
       - Add topology_init function for cpu hotplug.
       - Define TASK_SIZE dependent on TIF_31BIT and define MM_VM_SIZE
         to 4TB to get rid of elf_map32 and arch_get_unmapped_area.
      9cb51c16
    • Andrew Morton's avatar
      [PATCH] Add del_single_shot_timer() · 1b9407d7
      Andrew Morton authored
      From: Geoff Gustafson <geoff@linux.jf.intel.com>,
            "Chen, Kenneth W" <kenneth.w.chen@intel.com>,
            Ingo Molnar <mingo@elte.hu>,
            me.
      
      The big-SMP guys are seeing high CPU load due to del_timer_sync()'s
      inefficiencies.  The callers are fs/aio.c and schedule_timeout().
      
      We note that neither of these callers' timer handlers actually re-add the
      timer - they are single-shot.
      
      So we don't need all that complexity in del_timer_sync() - we can just run
      del_timer() and if that worked we know the timer is dead.
      
      Add del_single_shot_timer(), export it to modules and use it in AIO and
      schedule_timeout().
      
      
      (these numbers are for an earlier patch, but they'll be close)
      
      Before:             32p     4p
           Warm cache   29,000    505
           Cold cache   37,800   1220
      
      After:              32p     4p
           Warm cache       95     88
           Cold cache    1,800    140
      
      [Measurements are CPU cycles spent in a call to del_timer_sync, the average
      of 1000 calls. 32p is 16-node NUMA, 4p is SMP.]
      
      (I cleaned up a few things and added some commentary)
      1b9407d7