1. 14 May, 2004 40 commits
    • 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
    • Andrew Morton's avatar
      [PATCH] H8/300: more cleanup · 496dc9b4
      Andrew Morton authored
      From: Yoshinori Sato <ysato@users.sourceforge.jp>
      
      - gcc-3.4 warning fix.
      - io access address fix.
      - cleanup code.
      496dc9b4
    • Andrew Morton's avatar
      [PATCH] H8/300: delete headers · b942a885
      Andrew Morton authored
      From: Yoshinori Sato <ysato@users.sourceforge.jp>
      
      - Delete obsolete header files
      b942a885
    • Andrew Morton's avatar
      [PATCH] H8/300: Kconfig · d3ab913e
      Andrew Morton authored
      From: Yoshinori Sato <ysato@users.sourceforge.jp>
      
      - Separate taget depends config.
      d3ab913e
    • Andrew Morton's avatar
      [PATCH] H8/300: ne driver · 5cabf638
      Andrew Morton authored
      From: Yoshinori Sato <ysato@users.sourceforge.jp>
      
      - ne2k compatible NIC support
      5cabf638
    • Andrew Morton's avatar
      [PATCH] H8/300: SCI driver fix · 58cdd45b
      Andrew Morton authored
      From: Yoshinori Sato <ysato@users.sourceforge.jp>
      
      - fix h8300 depend setup sequence
      58cdd45b
    • Andrew Morton's avatar
      [PATCH] H8/300: preempt support · caeb59c8
      Andrew Morton authored
      From: Yoshinori Sato <ysato@users.sourceforge.jp>
      
      - add preempt support
      - add new syscalls
      - code cleanup
      caeb59c8
    • Andrew Morton's avatar
      [PATCH] H/8300 pic support fix · 906355ca
      Andrew Morton authored
      From: Yoshinori Sato <ysato@users.sourceforge.jp>
      
      Sorry. There was the file which lacked.
      906355ca
    • Andrew Morton's avatar
      [PATCH] H8/300: pic support · ebd99675
      Andrew Morton authored
      From: Yoshinori Sato <ysato@users.sourceforge.jp>
      
      - add PIC binary support
      ebd99675
    • Andrew Morton's avatar
      [PATCH] H8/300: ldscripts fix · e51c5d04
      Andrew Morton authored
      From: Yoshinori Sato <ysato@users.sourceforge.jp>
      
      - symbol prefix (use h8300 and v850) support
      - include headers
      e51c5d04
    • Andrew Morton's avatar
      [PATCH] H8/300: bitops.h add find_next_bit · dd2deeb9
      Andrew Morton authored
      From: Yoshinori Sato <ysato@users.sourceforge.jp>
      
      - add find_next_bit
      dd2deeb9
    • Andrew Morton's avatar
      [PATCH] dentry layout tweaks · 35181da9
      Andrew Morton authored
      Lookup typically touches three fields of the dentry: d_bucket, d_name.hash and
      d_parent.
      
      Change the layout of things so that these will always be in the same
      cacheline.
      35181da9
    • Andrew Morton's avatar
      [PATCH] more dentry shrinkage · 66ca0978
      Andrew Morton authored
      - d_vfs_flags can be removed - just use d_flags.  All modifications of
        dentry->d_flags are under dentry->d_lock.
      
      On x86 this takes the internal string size up to 40 bytes.  The
      internal/external ratio on my 1.5M files hits 96%.
      66ca0978
    • Andrew Morton's avatar
      [PATCH] dentry d_bucket fix · b7b5563e
      Andrew Morton authored
      The gap between checking d_bucket and sampling d_move_count looks like a bug
      to me.
      
      It feels safer to be checking d_bucket after taking the lock, when we know
      that it is stable.
      
      And it's a little faster to check d_bucket after having checked the hash
      rather than before.
      b7b5563e
    • Andrew Morton's avatar
      [PATCH] dentry qstr consolidation · 90b163a4
      Andrew Morton authored
      When dentries are given an external name we currently allocate an entire qstr
      for the external name.
      
      This isn't needed.  We can use the internal qstr and kmalloc only the string
      itself.  This saves 12 bytes from externally-allocated names and 4 bytes from
      the dentry itself.
      
      The saving of 4 bytes from the dentry doesn't actually decrease the dentry's
      storage requirements, but it makes four more bytes available for internal
      names, taking the internal/external ratio from 89% up to 93% on my 1.5M files.
      
      
      Fix:
      
      The qstr consolidation wasn't quite right, because it can cause qstr->len to
      be unstable during lookup lockless traverasl.
      
      Fix that up by taking d_lock earlier in lookup.  This serialises against
      d_move.
      
      Take the lock after comparing the parent and hash to preserve the
      mostly-lockless behaviour.
      
      This obsoletes d_movecount, which is removed.
      90b163a4
    • Andrew Morton's avatar
      [PATCH] dentry shrinkage · fd2d8760
      Andrew Morton authored
      Rework dentries so that the inline name length is between 31 and 48 bytes.
      
      On SMP P4-compiled x86 each dentry consumes 160 bytes (24 per page).
      
      Here's the histogram of name lengths on all 1.5M files on my workstation:
      
      1:  0%
      2:  0%
      3:  1%
      4:  5%
      5:  8%
      6:  13%
      7:  19%
      8:  26%
      9:  33%
      10:  42%
      11:  49%
      12:  55%
      13:  60%
      14:  64%
      15:  67%
      16:  69%
      17:  71%
      18:  73%
      19:  75%
      20:  76%
      21:  78%
      22:  79%
      23:  80%
      24:  81%
      25:  82%
      26:  83%
      27:  85%
      28:  86%
      29:  87%
      30:  88%
      31:  89%
      32:  90%
      33:  91%
      34:  92%
      35:  93%
      36:  94%
      37:  95%
      38:  96%
      39:  96%
      40:  96%
      41:  96%
      42:  96%
      43:  96%
      44:  97%
      45:  97%
      46:  97%
      47:  97%
      48:  97%
      49:  98%
      50:  98%
      51:  98%
      52:  98%
      53:  98%
      54:  98%
      55:  98%
      56:  98%
      57:  98%
      58:  98%
      59:  98%
      60:  99%
      61:  99%
      62:  99%
      63:  99%
      64:  99%
      
      So on x86 we'll fit 89% of filenames into the inline name.
      
      
      The patch also removes the NAME_ALLOC_LEN() rounding-up of the storage for the
      out-of-line names.  That seems unnecessary.
      fd2d8760