1. 28 2月, 2008 1 次提交
  2. 27 2月, 2008 1 次提交
  3. 25 2月, 2008 2 次提交
  4. 24 2月, 2008 9 次提交
    • T
      libata: automatically use DMADIR if drive/bridge requires it · 91163006
      Tejun Heo 提交于
      Back in 2.6.17-rc2, a libata module parameter was added for atapi_dmadir.
      
      That's nice, but most SATA devices which need it will tell us about it
      in their IDENTIFY PACKET response, as bit-15 of word-62 of the
      returned data (as per ATA7, ATA8 specifications).
      
      So for those which specify it, we should automatically use the DMADIR bit.
      Otherwise, disc writing will fail by default on many SATA-ATAPI drives.
      
      This patch adds ATA_DFLAG_DMADIR and make ata_dev_configure() set it
      if atapi_dmadir is set or identify data indicates DMADIR is necessary.
      atapi_xlat() is converted to check ATA_DFLAG_DMADIR before setting
      DMADIR.
      
      Original patch is from Mark Lord.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Cc: Mark Lord <mlord@pobox.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      91163006
    • D
      [NET]: Restore sanity wrt. print_mac(). · 55b01e86
      David S. Miller 提交于
      MAC_FMT had only one user and we tried to get rid of
      that, but this created more problems than it solved.
      
      As a result, this reverts three commits:
      
      235365f3 ("net/8021q/vlan_dev.c: Use
      print_mac."), fea5fa87 ("[NET]: Remove
      MAC_FMT"), and 8f789c48 ("[NET]:
      Elminate spurious print_mac() calls.")
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      55b01e86
    • L
      cgroup: clean up cgroup.h · ffd2d883
      Li Zefan 提交于
      - replace old name 'cont' with 'cgrp' (Paul Menage did this cleanup for
        cgroup.c in commit bd89aabc)
      - remove a duplicate declaration of cgroup_path()
      Signed-off-by: NLi Zefan <lizf@cn.fujitsu.com>
      Acked-by: NPaul Menage <menage@google.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ffd2d883
    • L
      cgroup: fix comments · a043e3b2
      Li Zefan 提交于
      fix:
      - comments about need_forkexit_callback
      - comments about release agent
      - typo and comment style, etc.
      Signed-off-by: NLi Zefan <lizf@cn.fujitsu.com>
      Acked-by: NPaul Menage <menage@google.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a043e3b2
    • T
      futex: runtime enable pi and robust functionality · a0c1e907
      Thomas Gleixner 提交于
      Not all architectures implement futex_atomic_cmpxchg_inatomic().  The default
      implementation returns -ENOSYS, which is currently not handled inside of the
      futex guts.
      
      Futex PI calls and robust list exits with a held futex result in an endless
      loop in the futex code on architectures which have no support.
      
      Fixing up every place where futex_atomic_cmpxchg_inatomic() is called would
      add a fair amount of extra if/else constructs to the already complex code.  It
      is also not possible to disable the robust feature before user space tries to
      register robust lists.
      
      Compile time disabling is not a good idea either, as there are already
      architectures with runtime detection of futex_atomic_cmpxchg_inatomic support.
      
      Detect the functionality at runtime instead by calling
      cmpxchg_futex_value_locked() with a NULL pointer from the futex initialization
      code.  This is guaranteed to fail, but the call of
      futex_atomic_cmpxchg_inatomic() happens with pagefaults disabled.
      
      On architectures, which use the asm-generic implementation or have a runtime
      CPU feature detection, a -ENOSYS return value disables the PI/robust features.
      
      On architectures with a working implementation the call returns -EFAULT and
      the PI/robust features are enabled.
      
      The relevant syscalls return -ENOSYS and the robust list exit code is blocked,
      when the detection fails.
      
      Fixes http://lkml.org/lkml/2008/2/11/149
      Originally reported by: Lennart Buytenhek
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Acked-by: NIngo Molnar <mingo@elte.hu>
      Cc: Lennert Buytenhek <buytenh@wantstofly.org>
      Cc: Riku Voipio <riku.voipio@movial.fi>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a0c1e907
    • C
      efs: move headers out of include/linux/ · 45254b4f
      Christoph Hellwig 提交于
      Merge include/linux/efs_fs{_i,_dir}.h into fs/efs/efs.h.  efs_vh.h remains
      there because this is the IRIX volume header and shouldn't really be
      handled by efs but by the partitioning code.  efs_sb.h remains there for
      now because it's exported to userspace.  Of course this wrong and aboot
      should have a copy of it's own, but I'll leave that to a separate patch to
      avoid any contention.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      45254b4f
    • D
      NOMMU: is_vmalloc_addr() won't compile if !MMU · 8ca3ed87
      David Howells 提交于
      Make is_vmalloc_addr() contingent on CONFIG_MMU=y, as it won't compile
      in !MMU mode.
      
      [ Bug introduced in commit 9e2779fa:
        "is_vmalloc_addr(): Check if an address is within the vmalloc
        boundaries" ].
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Cc: Greg Ungerer <gerg@snapgear.com>
      Cc: Christoph Lameter <clameter@sgi.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8ca3ed87
    • D
      sparc: fix build · eaeb1688
      David Rientjes 提交于
      Fix build failure on sparc:
      
      	In file included from include/linux/mm.h:39,
      	                from include/linux/memcontrol.h:24,
      	                from include/linux/swap.h:8,
      	                from include/linux/suspend.h:7,
      	                from init/do_mounts.c:6:
      	include/asm/pgtable.h:344: warning: parameter names (without
      		types) in function declaration
      	include/asm/pgtable.h:345: warning: parameter names (without
      		types) in function declaration
      	include/asm/pgtable.h:346: error: expected '=', ',', ';', 'asm' or
      		'__attribute__' before '___f___swp_entry'
      
      viro sayeth:
      
        I've run allmodconfig builds on a bunch of target, FWIW (essentially the
        same patch).  Note that these includes are recent addition caused by added
        inline function that had since then become a define.  So while I agree with
        your comments in general, in _this_ case it's pretty safe.
      
        The commit that had done it is 3062fc67
        ("memcontrol: move mm_cgroup to header file") and the switch to #define
        is in commit 60c12b12 ("memcontrol: add
        vm_match_cgroup()") (BTW, that probably warranted mentioning in the
        changelog of the latter).
      
      Cc: Adrian Bunk <bunk@kernel.org>
      Cc: Robert Reif <reif@earthlink.net>
      Signed-off-by: NDavid Rientjes <rientjes@google.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      eaeb1688
    • R
      PM: Introduce PM_EVENT_HIBERNATE callback state · 3a2d5b70
      Rafael J. Wysocki 提交于
      During the last step of hibernation in the "platform" mode (with the
      help of ACPI) we use the suspend code, including the devices'
      ->suspend() methods, to prepare the system for entering the ACPI S4
      system sleep state.
      
      But at least for some devices the operations performed by the
      ->suspend() callback in that case must be different from its operations
      during regular suspend.
      
      For this reason, introduce the new PM event type PM_EVENT_HIBERNATE and
      pass it to the device drivers' ->suspend() methods during the last phase
      of hibernation, so that they can distinguish this case and handle it as
      appropriate.  Modify the drivers that handle PM_EVENT_SUSPEND in a
      special way and need to handle PM_EVENT_HIBERNATE in the same way.
      
      These changes are necessary to fix a hibernation regression related
      to the i915 driver (ref. http://lkml.org/lkml/2008/2/22/488).
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: NPavel Machek <pavel@ucw.cz>
      Tested-by: NJeff Chua <jeff.chua.linux@gmail.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3a2d5b70
  5. 22 2月, 2008 2 次提交
  6. 21 2月, 2008 7 次提交
  7. 20 2月, 2008 4 次提交
  8. 19 2月, 2008 10 次提交
    • J
      libata: eliminate the home grown dma padding in favour of · dde20207
      James Bottomley 提交于
      that provided by the block layer
      
      ATA requires that all DMA transfers begin and end on word boundaries.
      Because of this, a large amount of machinery grew up in ide to adjust
      scatterlists on this basis.  However, as of 2.5, the block layer has a
      dma_alignment variable which ensures both the beginning and length of a
      DMA transfer are aligned on the dma_alignment boundary.  Although the
      block layer does adjust the beginning of the transfer to ensure this
      happens, it doesn't actually adjust the length, it merely makes sure
      that space is allocated for transfers beyond the declared length.  The
      upshot of this is that scatterlists may be padded to any size between
      the actual length and the length adjusted to the dma_alignment safely
      knowing that memory is allocated in this region.
      
      Right at the moment, SCSI takes the default dma_aligment which is on a
      512 byte boundary.  Note that this aligment only applies to transfers
      coming in from user space.  However, since all kernel allocations are
      automatically aligned on a minimum of 32 byte boundaries, it is safe to
      adjust them in this manner as well.
      
      tj: * Adjusting sg after padding is done in block layer.  Make libata
            set queue alignment correctly for ATAPI devices and drop broken
            sg mangling from ata_sg_setup().
          * Use request->raw_data_len for ATAPI transfer chunk size.
          * Killed qc->raw_nbytes.
          * Separated out killing qc->n_iter.
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      dde20207
    • T
      block: implement request_queue->dma_drain_needed · 2fb98e84
      Tejun Heo 提交于
      Draining shouldn't be done for commands where overflow may indicate
      data integrity issues.  Add dma_drain_needed callback to
      request_queue.  Drain buffer is appened iff this function returns
      non-zero.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      2fb98e84
    • T
      block: add request->raw_data_len · 6b00769f
      Tejun Heo 提交于
      With padding and draining moved into it, block layer now may extend
      requests as directed by queue parameters, so now a request has two
      sizes - the original request size and the extended size which matches
      the size of area pointed to by bios and later by sgs.  The latter size
      is what lower layers are primarily interested in when allocating,
      filling up DMA tables and setting up the controller.
      
      Both padding and draining extend the data area to accomodate
      controller characteristics.  As any controller which speaks SCSI can
      handle underflows, feeding larger data area is safe.
      
      So, this patch makes the primary data length field, request->data_len,
      indicate the size of full data area and add a separate length field,
      request->raw_data_len, for the unmodified request size.  The latter is
      used to report to higher layer (userland) and where the original
      request size should be fed to the controller or device.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      6b00769f
    • J
      cfq-iosched: add hlist for browsing parallel to the radix tree · ffc4e759
      Jens Axboe 提交于
      It's cumbersome to browse a radix tree from start to finish, especially
      since we modify keys when a process exits. So add a hlist for the single
      purpose of browsing over all known cfq_io_contexts, used for exit,
      io prio change, etc.
      
      This fixes http://bugzilla.kernel.org/show_bug.cgi?id=9948Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      ffc4e759
    • A
      fs/block_dev.c: remove #if 0'ed code · 86b6c7a7
      Adrian Bunk 提交于
      Commit b2e895db #if 0'ed this code stating:
      
      <--  snip  -->
      
          [PATCH] revert blockdev direct io back to 2.6.19 version
      
          Andrew Vasquez is reporting as-iosched oopses and a 65% throughput
          slowdown due to the recent special-casing of direct-io against
          blockdevs.  We don't know why either of these things are occurring.
      
          The patch minimally reverts us back to the 2.6.19 code for a 2.6.20
          release.
      
      <--  snip  -->
      
      It has since been dead code, and unless someone wants to revive it now
      it's time to remove it.
      
      This patch also makes bio_release_pages() static again and removes the
      ki_bio_count member from struct kiocb, reverting changes that had been
      done for this dead code.
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      Signed-off-by: NJens Axboe <axboe@carl.home.kernel.dk>
      86b6c7a7
    • A
      make struct def_blk_aops static · 4c54ac62
      Adrian Bunk 提交于
      This patch makes the needlessly global struct def_blk_aops static.
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      Signed-off-by: NJens Axboe <axboe@carl.home.kernel.dk>
      4c54ac62
    • R
      net: fix kernel-doc warnings in header files · 31729363
      Randy Dunlap 提交于
      Add missing structure kernel-doc descriptions to sock.h & skbuff.h
      to fix kernel-doc warnings.
      
      (I think that Stephen H. sent a similar patch, but I can't find it.
      I just want to kill the warnings, with either patch.)
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      31729363
    • D
      [NET]: Elminate spurious print_mac() calls. · 8f789c48
      David S. Miller 提交于
      Patrick McHardy notes that print_mac() can get invoked
      even if the result it unused (f.e. as an argument to
      pr_debug() when DEBUG is not defined).
      
      Mark this function as "__pure" to eliminate this problem.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8f789c48
    • B
      linux/hdsmart.h: fix goofups (take 2) · f401fd55
      Bartlomiej Zolnierkiewicz 提交于
      Fix goofups of commit 76166952
      ("<linux/hdsmart.h> is not used by kernel code").
      
      Also update include/linux/Kbuild to reflect the fact that hdsmart.h
      uses __KERNEL__ ifdefs now.
      Reported-by: N"Robert P. J. Day" <rpjday@crashcourse.ca>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      f401fd55
    • A
      via82cxxx: add new PCI id for cx700 · 84f7e451
      Andrew Smith 提交于
      [bart: manually ported it over via82cxxx changes]
      
      From: Andrew Smith <asmith@tranquility.fsbusiness.co.uk>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      84f7e451
  9. 18 2月, 2008 2 次提交
  10. 15 2月, 2008 2 次提交