1. 08 4月, 2008 1 次提交
  2. 12 2月, 2008 1 次提交
    • T
      [SCSI] MegaRAID driver management char device moved to misc · 90a95af8
      Thomas Horsten 提交于
      The MegaRAID driver's common management module (megaraid_mm.c) creates a
      char device used by the management tool "megarc" from LSI Logic (and
      possibly other management tools).
      
      In 2.6 with udev, this device doesn't get created because it is not
      registered in sysfs.
      
      I first fixed this by registering a class "megaraid_mm", but realized that
      this should probably be moved to misc devices, instead of taking up a char
      major.  This is because only 1 device is used, even if there are multiple
      adapters - the minor is never used (the adapter info is in the ioctl block
      sent to the driver, not detected based on the minor number as one might
      think).  So it is a complete waste to have an entire major taken by this.
      
      So it now uses a misc device which I named "megadev0" (the name that megarc
      expects), and has a dynamic minor (previoulsy a dynamic major was used).
      
      I have tested this on my own system with the megarc tool, and it works just
      as fine as before (only now the device gets created correctly by udev).
      Acked-by: N"Patro, Sumant" <Sumant.Patro@lsi.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      90a95af8
  3. 07 2月, 2008 1 次提交
  4. 03 2月, 2008 1 次提交
  5. 31 1月, 2008 1 次提交
    • J
      [SCSI] remove use_sg_chaining · d3f46f39
      James Bottomley 提交于
      With the sg table code, every SCSI driver is now either chain capable
      or broken (or has sg_tablesize set so chaining is never activated), so
      there's no need to have a check in the host template.
      
      Also tidy up the code by moving the scatterlist size defines into the
      SCSI includes and permit the last entry of the scatterlist pools not
      to be a power of two.
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      d3f46f39
  6. 24 1月, 2008 1 次提交
  7. 12 1月, 2008 7 次提交
  8. 23 10月, 2007 1 次提交
  9. 20 10月, 2007 1 次提交
  10. 16 10月, 2007 1 次提交
  11. 20 7月, 2007 1 次提交
  12. 15 7月, 2007 1 次提交
  13. 01 6月, 2007 2 次提交
  14. 24 5月, 2007 1 次提交
  15. 22 5月, 2007 1 次提交
    • A
      Detach sched.h from mm.h · e8edc6e0
      Alexey Dobriyan 提交于
      First thing mm.h does is including sched.h solely for can_do_mlock() inline
      function which has "current" dereference inside. By dealing with can_do_mlock()
      mm.h can be detached from sched.h which is good. See below, why.
      
      This patch
      a) removes unconditional inclusion of sched.h from mm.h
      b) makes can_do_mlock() normal function in mm/mlock.c
      c) exports can_do_mlock() to not break compilation
      d) adds sched.h inclusions back to files that were getting it indirectly.
      e) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were
         getting them indirectly
      
      Net result is:
      a) mm.h users would get less code to open, read, preprocess, parse, ... if
         they don't need sched.h
      b) sched.h stops being dependency for significant number of files:
         on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,
         after patch it's only 3744 (-8.3%).
      
      Cross-compile tested on
      
      	all arm defconfigs, all mips defconfigs, all powerpc defconfigs,
      	alpha alpha-up
      	arm
      	i386 i386-up i386-defconfig i386-allnoconfig
      	ia64 ia64-up
      	m68k
      	mips
      	parisc parisc-up
      	powerpc powerpc-up
      	s390 s390-up
      	sparc sparc-up
      	sparc64 sparc64-up
      	um-x86_64
      	x86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig
      
      as well as my two usual configs.
      Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e8edc6e0
  16. 06 5月, 2007 1 次提交
  17. 17 2月, 2007 5 次提交
  18. 13 2月, 2007 1 次提交
  19. 14 1月, 2007 3 次提交
  20. 06 1月, 2007 1 次提交
  21. 23 11月, 2006 1 次提交
  22. 26 10月, 2006 1 次提交
  23. 16 10月, 2006 1 次提交
  24. 05 10月, 2006 4 次提交
    • D
      IRQ: Maintain regs pointer globally rather than passing to IRQ handlers · 7d12e780
      David Howells 提交于
      Maintain a per-CPU global "struct pt_regs *" variable which can be used instead
      of passing regs around manually through all ~1800 interrupt handlers in the
      Linux kernel.
      
      The regs pointer is used in few places, but it potentially costs both stack
      space and code to pass it around.  On the FRV arch, removing the regs parameter
      from all the genirq function results in a 20% speed up of the IRQ exit path
      (ie: from leaving timer_interrupt() to leaving do_IRQ()).
      
      Where appropriate, an arch may override the generic storage facility and do
      something different with the variable.  On FRV, for instance, the address is
      maintained in GR28 at all times inside the kernel as part of general exception
      handling.
      
      Having looked over the code, it appears that the parameter may be handed down
      through up to twenty or so layers of functions.  Consider a USB character
      device attached to a USB hub, attached to a USB controller that posts its
      interrupts through a cascaded auxiliary interrupt controller.  A character
      device driver may want to pass regs to the sysrq handler through the input
      layer which adds another few layers of parameter passing.
      
      I've build this code with allyesconfig for x86_64 and i386.  I've runtested the
      main part of the code on FRV and i386, though I can't test most of the drivers.
      I've also done partial conversion for powerpc and MIPS - these at least compile
      with minimal configurations.
      
      This will affect all archs.  Mostly the changes should be relatively easy.
      Take do_IRQ(), store the regs pointer at the beginning, saving the old one:
      
      	struct pt_regs *old_regs = set_irq_regs(regs);
      
      And put the old one back at the end:
      
      	set_irq_regs(old_regs);
      
      Don't pass regs through to generic_handle_irq() or __do_IRQ().
      
      In timer_interrupt(), this sort of change will be necessary:
      
      	-	update_process_times(user_mode(regs));
      	-	profile_tick(CPU_PROFILING, regs);
      	+	update_process_times(user_mode(get_irq_regs()));
      	+	profile_tick(CPU_PROFILING);
      
      I'd like to move update_process_times()'s use of get_irq_regs() into itself,
      except that i386, alone of the archs, uses something other than user_mode().
      
      Some notes on the interrupt handling in the drivers:
      
       (*) input_dev() is now gone entirely.  The regs pointer is no longer stored in
           the input_dev struct.
      
       (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking.  It does
           something different depending on whether it's been supplied with a regs
           pointer or not.
      
       (*) Various IRQ handler function pointers have been moved to type
           irq_handler_t.
      Signed-Off-By: NDavid Howells <dhowells@redhat.com>
      (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
      7d12e780
    • J
      [SCSI] SCSI megaraid_sas: handle thrown errors · 83aabc1b
      Jeff Garzik 提交于
      - handle clear_user() error
      
      - handle and properly unwind from sysfs errors thrown during mod init
      
      - adjust order of calls in megasas_exit() to precisely match
        registration order in megasas_init()
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      
      Updated for extra attribute and
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      83aabc1b
    • S
      [SCSI] megaraid_sas: sets ioctl timeout and updates version,changelog · 2a3681e5
      Sumant Patro 提交于
      This patch sets timeout of max 180 seconds for ioctl completion.
      It also updates the Changelog and hikes the version to 3.05.
      Signed-off-by: NSumant Patro <Sumant.Patro@lsil.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      2a3681e5
    • S
      [SCSI] megaraid_sas: adds tasklet for cmd completion · 5d018ad0
      Sumant Patro 提交于
      This patch adds a tasklet for command completion.
      Signed-off-by: NSumant Patro <Sumant.Patro@lsil.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      5d018ad0