1. 11 Aug, 2011 4 commits
    • Jeff Kirsher's avatar
      8390: Move the 8390 related drivers · 644570b8
      Jeff Kirsher authored
      Moves the drivers for the National Semi-conductor 8390 chipset into
      drivers/net/ethernet/8390/ and the necessary Kconfig and Makefile
      changes.
      
      CC: Donald Becker <becker@scyld.com>
      CC: Paul Gortmaker <paul.gortmaker@windriver.com>
      CC: Alain Malek <alain.malek@cryogen.com>
      CC: Peter De Schrijver <p2@mind.be>
      CC: "David Huggins-Daines" <dhd@debian.org>
      CC: Wim Dumon <wimpie@kotnet.org>
      CC: Yoshinori Sato <ysato@users.sourceforge.jp>
      CC: David Hinds <dahinds@users.sourceforge.net>
      CC: Russell King <linux@arm.linux.org.uk>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      644570b8
    • Jeff Kirsher's avatar
      amd: Move AMD (Lance) chipset drivers · b955f6ca
      Jeff Kirsher authored
      Moves the drivers for the AMD chipsets into drivers/net/ethernet/amd/
      and the necessary Kconfig and Makfile changes.
      
      The au1000 (Alchemy) driver was also moved into the same directory
      even though it is not a "Lance" driver.
      
      CC: Peter Maydell <pmaydell@chiark.greenend.org.uk>
      CC: Roman Hodek <Roman.Hodek@informatik.uni-erlangen.de>
      CC: "Maciej W. Rozycki" <macro@linux-mips.org>
      CC: Donald Becker <becker@scyld.com>
      CC: Sam Creasey <sammy@users.qual.net>
      CC: Miguel de Icaza <miguel@nuclecu.unam.mx>
      CC: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
      CC: Don Fry <pcnet32@frontier.com>
      CC: Geert Uytterhoeven <geert@linux-m68k.org>
      CC: Russell King <linux@arm.linux.org.uk>
      CC: David Davies <davies@maniac.ultranet.com>
      CC: "M.Hipp" <hippm@informatik.uni-tuebingen.de>
      CC: Pete Popov <ppopov@embeddedalley.com>
      CC: David Hinds <dahinds@users.sourceforge.net>
      CC: "Roger C. Pao" <rpao@paonet.org>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      b955f6ca
    • Jeff Kirsher's avatar
      3c*/acenic/typhoon: Move 3Com Ethernet drivers · ca7a8e85
      Jeff Kirsher authored
      Moves the 3Com drivers into drivers/net/ethernet/3com/ and the necessary
      Kconfig and Makefile changes.
      
      Did not move the following drivers becuase they use a non-3Com
      chipset: 3c503, 3c505, 3c507, 3c523 and 3c527
      
      CC: Steffen Klassert <klassert@mathematik.tu-chemnitz.de>
      CC: David Dillow <dave@thedillows.org>
      CC: Jes Sorensen <jes@trained-monkey.org>
      CC: Alan Cox <alan@linux.intel.com>
      CC: David Hinds <dahinds@users.sourceforge.net>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Acked-by: default avatarDavid Dillow <dave@thedillows.org>
      ca7a8e85
    • Jeff Kirsher's avatar
      drivers/net/ethernet: Add ethernet dir and config option · c1abc95b
      Jeff Kirsher authored
      This is the initial patch to organize the drivers/net directory
      structure and networking device driver config options.  This patch
      does the following:
        - add drivers/net/ethernet/Kconfig
        - integrate the new files into the existing config
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      c1abc95b
  2. 08 Aug, 2011 21 commits
  3. 07 Aug, 2011 15 commits
    • Linus Torvalds's avatar
      9e233113
    • Rafael J. Wysocki's avatar
      sh: Fix boot crash related to SCI · fc97114b
      Rafael J. Wysocki authored
      Commit d006199e72a9 ("serial: sh-sci: Regtype probing doesn't need to be
      fatal.") made sci_init_single() return when sci_probe_regmap() succeeds,
      although it should return when sci_probe_regmap() fails.  This causes
      systems using the serial sh-sci driver to crash during boot.
      
      Fix the problem by using the right return condition.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fc97114b
    • Linus Torvalds's avatar
      arm: remove stale export of 'sha_transform' · f23c126b
      Linus Torvalds authored
      The generic library code already exports the generic function, this was
      left-over from the ARM-specific version that just got removed.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f23c126b
    • Linus Torvalds's avatar
      arm: remove "optimized" SHA1 routines · 4d448714
      Linus Torvalds authored
      Since commit 1eb19a12 ("lib/sha1: use the git implementation of
      SHA-1"), the ARM SHA1 routines no longer work.  The reason? They
      depended on the larger 320-byte workspace, and now the sha1 workspace is
      just 16 words (64 bytes).  So the assembly version would overwrite the
      stack randomly.
      
      The optimized asm version is also probably slower than the new improved
      C version, so there's no reason to keep it around.  At least that was
      the case in git, where what appears to be the same assembly language
      version was removed two years ago because the optimized C BLK_SHA1 code
      was faster.
      Reported-and-tested-by: default avatarJoachim Eastwood <manabian@gmail.com>
      Cc: Andreas Schwab <schwab@linux-m68k.org>
      Cc: Nicolas Pitre <nico@fluxnic.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4d448714
    • Al Viro's avatar
      fix rcu annotations noise in cred.h · 32955148
      Al Viro authored
      task->cred is declared as __rcu, and access to other tasks' ->cred is,
      indeed, protected.  Access to current->cred does not need rcu_dereference()
      at all, since only the task itself can change its ->cred.  sparse, of
      course, has no way of knowing that...
      
      Add force-cast in current_cred(), make current_fsuid() et.al. use it.
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      32955148
    • Linus Torvalds's avatar
      vfs: rename 'do_follow_link' to 'should_follow_link' · 7813b94a
      Linus Torvalds authored
      Al points out that the do_follow_link() helper function really is
      misnamed - it's about whether we should try to follow a symlink or not,
      not about actually doing the following.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7813b94a
    • Ari Savolainen's avatar
      Fix POSIX ACL permission check · 206b1d09
      Ari Savolainen authored
      After commit 3567866b: "RCUify freeing acls, let check_acl() go ahead in
      RCU mode if acl is cached" posix_acl_permission is being called with an
      unsupported flag and the permission check fails. This patch fixes the issue.
      Signed-off-by: default avatarAri Savolainen <ari.m.savolainen@gmail.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      206b1d09
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.open-osd.org/linux-open-osd · c2f340a6
      Linus Torvalds authored
      * 'for-linus' of git://git.open-osd.org/linux-open-osd:
        ore: Make ore its own module
        exofs: Rename raid engine from exofs/ios.c => ore
        exofs: ios: Move to a per inode components & device-table
        exofs: Move exofs specific osd operations out of ios.c
        exofs: Add offset/length to exofs_get_io_state
        exofs: Fix truncate for the raid-groups case
        exofs: Small cleanup of exofs_fill_super
        exofs: BUG: Avoid sbi realloc
        exofs: Remove pnfs-osd private definitions
        nfs_xdr: Move nfs4_string definition out of #ifdef CONFIG_NFS_V4
      c2f340a6
    • Linus Torvalds's avatar
      vfs: optimize inode cache access patterns · 3ddcd056
      Linus Torvalds authored
      The inode structure layout is largely random, and some of the vfs paths
      really do care.  The path lookup in particular is already quite D$
      intensive, and profiles show that accessing the 'inode->i_op->xyz'
      fields is quite costly.
      
      We already optimized the dcache to not unnecessarily load the d_op
      structure for members that are often NULL using the DCACHE_OP_xyz bits
      in dentry->d_flags, and this does something very similar for the inode
      ops that are used during pathname lookup.
      
      It also re-orders the fields so that the fields accessed by 'stat' are
      together at the beginning of the inode structure, and roughly in the
      order accessed.
      
      The effect of this seems to be in the 1-2% range for an empty kernel
      "make -j" run (which is fairly kernel-intensive, mostly in filename
      lookup), so it's visible.  The numbers are fairly noisy, though, and
      likely depend a lot on exact microarchitecture.  So there's more tuning
      to be done.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3ddcd056
    • Linus Torvalds's avatar
      vfs: renumber DCACHE_xyz flags, remove some stale ones · 830c0f0e
      Linus Torvalds authored
      Gcc tends to generate better code with small integers, including the
      DCACHE_xyz flag tests - so move the common ones to be first in the list.
      Also just remove the unused DCACHE_INOTIFY_PARENT_WATCHED and
      DCACHE_AUTOFS_PENDING values, their users no longer exists in the source
      tree.
      
      And add a "unlikely()" to the DCACHE_OP_COMPARE test, since we want the
      common case to be a nice straight-line fall-through.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      830c0f0e
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 7cd4767e
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        net: Compute protocol sequence numbers and fragment IDs using MD5.
        crypto: Move md5_transform to lib/md5.c
      7cd4767e
    • Boaz Harrosh's avatar
      ore: Make ore its own module · cf283ade
      Boaz Harrosh authored
      Export everything from ore need exporting. Change Kbuild and Kconfig
      to build ore.ko as an independent module. Import ore from exofs
      Signed-off-by: default avatarBoaz Harrosh <bharrosh@panasas.com>
      cf283ade
    • Boaz Harrosh's avatar
      exofs: Rename raid engine from exofs/ios.c => ore · 8ff660ab
      Boaz Harrosh authored
      ORE stands for "Objects Raid Engine"
      
      This patch is a mechanical rename of everything that was in ios.c
      and its API declaration to an ore.c and an osd_ore.h header. The ore
      engine will later be used by the pnfs objects layout driver.
      
      * File ios.c => ore.c
      
      * Declaration of types and API are moved from exofs.h to a new
        osd_ore.h
      
      * All used types are prefixed by ore_ from their exofs_ name.
      
      * Shift includes from exofs.h to osd_ore.h so osd_ore.h is
        independent, include it from exofs.h.
      
      Other than a pure rename there are no other changes. Next patch
      will move the ore into it's own module and will export the API
      to be used by exofs and later the layout driver
      Signed-off-by: default avatarBoaz Harrosh <bharrosh@panasas.com>
      8ff660ab
    • Boaz Harrosh's avatar
      exofs: ios: Move to a per inode components & device-table · 9e9db456
      Boaz Harrosh authored
      Exofs raid engine was saving on memory space by having a single layout-info,
      single pid, and a single device-table, global to the filesystem. Then passing
      a credential and object_id info at the io_state level, private for each
      inode. It would also devise this contraption of rotating the device table
      view for each inode->ino to spread out the device usage.
      
      This is not compatible with the pnfs-objects standard, demanding that
      each inode can have it's own layout-info, device-table, and each object
      component it's own pid, oid and creds.
      
      So: Bring exofs raid engine to be usable for generic pnfs-objects use by:
      
      * Define an exofs_comp structure that holds obj_id and credential info.
      
      * Break up exofs_layout struct to an exofs_components structure that holds a
        possible array of exofs_comp and the array of devices + the size of the
        arrays.
      
      * Add a "comps" parameter to get_io_state() that specifies the ids creds
        and device array to use for each IO.
      
        This enables to keep the layout global, but the device-table view, creds
        and IDs at the inode level. It only adds two 64bit to each inode, since
        some of these members already existed in another form.
      
      * ios raid engine now access layout-info and comps-info through the passed
        pointers. Everything is pre-prepared by caller for generic access of
        these structures and arrays.
      
      At the exofs Level:
      
      * Super block holds an exofs_components struct that holds the device
        array, previously in layout. The devices there are in device-table
        order. The device-array is twice bigger and repeats the device-table
        twice so now each inode's device array can point to a random device
        and have a round-robin view of the table, making it compatible to
        previous exofs versions.
      
      * Each inode has an exofs_components struct that is initialized at
        load time, with it's own view of the device table IDs and creds.
        When doing IO this gets passed to the io_state together with the
        layout.
      
      While preforming this change. Bugs where found where credentials with the
      wrong IDs where used to access the different SB objects (super.c). As well
      as some dead code. It was never noticed because the target we use does not
      check the credentials.
      Signed-off-by: default avatarBoaz Harrosh <bharrosh@panasas.com>
      9e9db456
    • Boaz Harrosh's avatar
      exofs: Move exofs specific osd operations out of ios.c · 85e44df4
      Boaz Harrosh authored
      ios.c will be moving to an external library, for use by the
      objects-layout-driver. Remove from it some exofs specific functions.
      
      Also g_attr_logical_length is used both by inode.c and ios.c
      move definition to the later, to keep it independent
      Signed-off-by: default avatarBoaz Harrosh <bharrosh@panasas.com>
      85e44df4