1. 03 7月, 2012 1 次提交
  2. 19 5月, 2011 1 次提交
  3. 17 2月, 2010 1 次提交
    • A
      powerpc: Pair loads and stores in copy_4k_page · 63e6c5b8
      Anton Blanchard 提交于
      A number of our chips like loads and stores to be paired. A small kernel
      module testcase shows the improvement of pairing loads and stores in
      copy_4k_page:
      
      POWER6: +9%
      POWER7: +1.5%
      
      #include <linux/module.h>
      #include <linux/mm.h>
      
      #define ITERATIONS 10000000
      
      static int __init copypage_init(void)
      {
      	struct timespec before, after;
      	unsigned long i;
      	struct page *destpage, *srcpage;
      	char *dest, *src;
      
      	destpage = alloc_page(GFP_KERNEL);
      	srcpage = alloc_page(GFP_KERNEL);
      
      	dest = page_address(destpage);
      	src = page_address(srcpage);
      
      	getnstimeofday(&before);
      
      	for (i = 0; i < ITERATIONS; i++)
      		copy_4K_page(dest, src);
      
      	getnstimeofday(&after);
      
      	free_page((unsigned long)dest);
      	free_page((unsigned long)src);
      
      	printk(KERN_DEBUG "copy_4K_page loop took %lu ns\n",
      		(after.tv_sec - before.tv_sec) * NSEC_PER_SEC +
      		(after.tv_nsec - before.tv_nsec));
      
      	return 0;
      }
      
      static void __exit copypage_exit(void)
      {
      }
      
      module_init(copypage_init)
      module_exit(copypage_exit)
      MODULE_LICENSE("GPL");
      MODULE_AUTHOR("Anton Blanchard");
      Signed-off-by: NAnton Blanchard <anton@samba.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      63e6c5b8
  4. 28 10月, 2009 1 次提交
  5. 16 9月, 2008 1 次提交
    • M
      powerpc: New copy_4K_page() · 57dda6ef
      Mark Nelson 提交于
      This new copy_4K_page() function was originally tuned for the best
      performance on the Cell processor, but after testing on more 64bit
      powerpc chips it was found that with a small modification it either
      matched the performance offered by the current mainline version or
      bettered it by a small amount.
      
      It was found that on a Cell-based QS22 blade the amount of system
      time measured when compiling a 2.6.26 pseries_defconfig decreased
      by 4%. Using the same test, a 4-way 970MP machine saw a decrease of
      2% in system time. No noticeable change was seen on Power4, Power5
      or Power6.
      
      The 4096 byte page is copied in thirty-two 128 byte strides. An
      initial setup loop executes dcbt instructions for the whole source
      page and dcbz instructions for the whole destination page. To do
      this, the cache line size is retrieved from ppc64_caches.
      
      A new CPU feature bit, CPU_FTR_CP_USE_DCBTZ, (introduced in the
      previous patch) is used to make the modification to this new copy
      routine - on Power4, 970 and Cell the feature bit is set so the
      setup loop is executed, but on all other 64bit chips the setup
      loop is nop'ed out.
      Signed-off-by: NMark Nelson <markn@au1.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      57dda6ef
  6. 10 2月, 2006 1 次提交
  7. 07 11月, 2005 1 次提交
    • B
      [PATCH] ppc64: support 64k pages · 3c726f8d
      Benjamin Herrenschmidt 提交于
      Adds a new CONFIG_PPC_64K_PAGES which, when enabled, changes the kernel
      base page size to 64K.  The resulting kernel still boots on any
      hardware.  On current machines with 4K pages support only, the kernel
      will maintain 16 "subpages" for each 64K page transparently.
      
      Note that while real 64K capable HW has been tested, the current patch
      will not enable it yet as such hardware is not released yet, and I'm
      still verifying with the firmware architects the proper to get the
      information from the newer hypervisors.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      3c726f8d
  8. 10 10月, 2005 1 次提交
  9. 26 9月, 2005 1 次提交
    • P
      powerpc: Merge enough to start building in arch/powerpc. · 14cf11af
      Paul Mackerras 提交于
      This creates the directory structure under arch/powerpc and a bunch
      of Kconfig files.  It does a first-cut merge of arch/powerpc/mm,
      arch/powerpc/lib and arch/powerpc/platforms/powermac.  This is enough
      to build a 32-bit powermac kernel with ARCH=powerpc.
      
      For now we are getting some unmerged files from arch/ppc/kernel and
      arch/ppc/syslib, or arch/ppc64/kernel.  This makes some minor changes
      to files in those directories and files outside arch/powerpc.
      
      The boot directory is still not merged.  That's going to be interesting.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      14cf11af
  10. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4