Changes between Initial Version and Version 1 of jazz/12-06-02


Ignore:
Timestamp:
Jun 3, 2012, 11:15:56 AM (12 years ago)
Author:
jazz
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • jazz/12-06-02

    v1 v1  
     1= 2012-06-02 =
     2
     3== File System & Kernel Page Size ==
     4
     5 * 前陣子大家在討論怎樣加速異地檔案傳輸的速度,Thomas 提到說 mount 指令不支援大於 4096 (4K) 的問>題,也提到這個現象受限於 CPU 架構,因為 Kernel Page Size 是相依於 CPU 架構。今天簡單地查了一下,>把這個問題紀錄一下,畢竟我們常要去探討 Disk I/O 速度,從硬體架構跟軟體架構的堆疊來看,最終還是得>設法找出最佳化的參數。唯有對問題更了解,才又辦法知道如何把速度榨出來~
     6 * [參考一] [http://mkl-note.blogspot.tw/2010/11/mount-xfs-64kb-block-size-cause.html mount XFS 64KB block size cause "Function not implemented"]
     7{{{
     8#!html
     9<p><b>XFS: A high-performance journaling filesystem</b></p>
     10<a href='http://oss.sgi.com/projects/xfs/'>http://oss.sgi.com/projects/xfs/</a><p/>
     11<b>Filesystem Block Size</b><p/>
     12          <u>The minimum filesystem block size is 512 bytes. <b>The maximum filesystem block size is the page size of the kernel</b>, which is 4K on x86 architecture and is set as a kernel compile option on the IA64 architecture (up to 64 kilobyte pages).</u> So, XFS supports filesystem block sizes up to 64 kilobytes (from 512 bytes, in powers of 2), when the kernel page size allows it.
     13}}}
     14 * [參考二] [http://superuser.com/questions/291228/mount-ext4-partition-with-4kib-block-size Mount ext4 partition with >4KiB block size]
     15{{{
     16#!text
     17From page_types.h under arch\x86\include\asm
     18
     19/* PAGE_SHIFT determines the page size */
     20#define PAGE_SHIFT  12
     21#define PAGE_SIZE   (_AC(1,UL) << PAGE_SHIFT)
     22#define PAGE_MASK   (~(PAGE_SIZE-1))
     23}}}
     24{{{
     25#!text
     26Here is a list of the archs that support 64KiB or greater page sizes:
     27ia64, mips, pa-risc, powerpc, sh, sparc64. So it looks like my best bet
     28it to find an old-PPC Mac.
     29}}}
     30 * [參考三] [