1. 29 5月, 2007 3 次提交
  2. 12 5月, 2007 1 次提交
  3. 09 5月, 2007 3 次提交
  4. 08 5月, 2007 4 次提交
  5. 07 5月, 2007 1 次提交
  6. 26 4月, 2007 11 次提交
  7. 17 3月, 2007 1 次提交
    • D
      [SPARC64]: Get DEBUG_PAGEALLOC working again. · d1acb421
      David S. Miller 提交于
      We have to make sure to use base-pagesize TLB entries even during the
      early transition period where we need TLB miss handling but don't have
      the kernel page tables setup yet for the linear region.
      
      Also, it is necessary therefore to not use the 4MB TSB for these
      translations, and instead use the normal kernel TSB.  This allows us
      to also get rid of the 4MB tsb for debug builds which shrinks the
      kernel a little bit.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d1acb421
  8. 13 3月, 2007 1 次提交
  9. 13 2月, 2007 1 次提交
  10. 12 2月, 2007 1 次提交
  11. 01 1月, 2007 1 次提交
  12. 10 12月, 2006 1 次提交
  13. 08 12月, 2006 2 次提交
    • C
      [PATCH] slab: remove kmem_cache_t · e18b890b
      Christoph Lameter 提交于
      Replace all uses of kmem_cache_t with struct kmem_cache.
      
      The patch was generated using the following script:
      
      	#!/bin/sh
      	#
      	# Replace one string by another in all the kernel sources.
      	#
      
      	set -e
      
      	for file in `find * -name "*.c" -o -name "*.h"|xargs grep -l $1`; do
      		quilt add $file
      		sed -e "1,\$s/$1/$2/g" $file >/tmp/$$
      		mv /tmp/$$ $file
      		quilt refresh
      	done
      
      The script was run like this
      
      	sh replace kmem_cache_t "struct kmem_cache"
      Signed-off-by: NChristoph Lameter <clameter@sgi.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      e18b890b
    • C
      [PATCH] shared page table for hugetlb page · 39dde65c
      Chen, Kenneth W 提交于
      Following up with the work on shared page table done by Dave McCracken.  This
      set of patch target shared page table for hugetlb memory only.
      
      The shared page table is particular useful in the situation of large number of
      independent processes sharing large shared memory segments.  In the normal
      page case, the amount of memory saved from process' page table is quite
      significant.  For hugetlb, the saving on page table memory is not the primary
      objective (as hugetlb itself already cuts down page table overhead
      significantly), instead, the purpose of using shared page table on hugetlb is
      to allow faster TLB refill and smaller cache pollution upon TLB miss.
      
      With PT sharing, pte entries are shared among hundreds of processes, the cache
      consumption used by all the page table is smaller and in return, application
      gets much higher cache hit ratio.  One other effect is that cache hit ratio
      with hardware page walker hitting on pte in cache will be higher and this
      helps to reduce tlb miss latency.  These two effects contribute to higher
      application performance.
      Signed-off-by: NKen Chen <kenneth.w.chen@intel.com>
      Acked-by: NHugh Dickins <hugh@veritas.com>
      Cc: Dave McCracken <dmccr@us.ibm.com>
      Cc: William Lee Irwin III <wli@holomorphy.com>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: David Gibson <david@gibson.dropbear.id.au>
      Cc: Adam Litke <agl@us.ibm.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      39dde65c
  14. 27 9月, 2006 1 次提交
    • D
      [SPARC64]: Kill bogus check from bootmem_init(). · 715a0ecc
      David S. Miller 提交于
      There is an ancient and totally incorrect sanity check being
      done on the ramdisk location.  The check assumes that the
      kernel is always loaded to physical address zero, which is
      wrong.  It was trying to validate the ramdisk value by saying that
      if it fell within the kernel image address range it must be wrong.
      
      Anyways, kill this because it actually creates problems.  The
      'ramdisk_image' should always be adjusted down by KERNBASE.
      SILO can easily put the ramdisk in a location which causes
      this test to trigger, breaking things.
      
      [ Based almost entirely upon a patch from Ben Collins. ]
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      715a0ecc
  15. 30 8月, 2006 1 次提交
    • D
      [SPARC64]: Fix X server hangs due to large pages. · 47f2c360
      David S. Miller 提交于
      This problem was introduced by changeset
      14778d90
      
      Unlike the hugetlb code paths, the normal fault code is not setup to
      propagate PTE changes for large page sizes correctly like the ones we
      make for I/O mappings in io_remap_pfn_range().
      
      It is absolutely necessary to update all sub-ptes of a largepage
      mapping on a fault.  Adding special handling for this would add
      considerably complexity to tlb_batch_add().  So let's just side-step
      the issue and forcefully dirty any writable PTEs created by
      io_remap_pfn_range().
      
      The only other real option would be to disable to large PTE code of
      io_remap_pfn_range() and we really don't want to do that.
      
      Much thanks to Mikael Pettersson for tracking down this problem and
      testing debug patches.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      47f2c360
  16. 25 7月, 2006 1 次提交
  17. 01 7月, 2006 1 次提交
  18. 28 6月, 2006 1 次提交
  19. 27 6月, 2006 1 次提交
  20. 26 6月, 2006 1 次提交
  21. 24 6月, 2006 2 次提交
    • D
      [SPARC64]: Fix for Niagara memory corruption. · c2a5a46b
      David S. Miller 提交于
      On some sun4v systems, after netboot the ethernet controller and it's
      DMA mappings can be left active.  The net result is that the kernel
      can end up using memory the ethernet controller will continue to DMA
      into, resulting in corruption.
      
      To deal with this, we are more careful about importing IOMMU
      translations which OBP has left in the IO-TLB.  If the mapping maps
      into an area the firmware claimed was free and available memory for
      the kernel to use, we demap instead of import that IOMMU entry.
      
      This is going to cause the network chip to take a PCI master abort on
      the next DMA it attempts, if it has been left going like this.  All
      tests show that this is handled properly by the PCI layer and the e1000
      drivers.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c2a5a46b
    • D
      [SPARC64]: Minor bug fix to obp_read_memory(). · 486ad10a
      David S. Miller 提交于
      If we end up zero'ing out the size of one of the entries,
      pop it out of the array completely because some code that
      examines these things cannot handle a zero length element
      properly.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      486ad10a