wiki:jazz/12-06-02

Version 1 (modified by jazz, 12 years ago) (diff)

--

2012-06-02

File System & Kernel Page Size

  • 前陣子大家在討論怎樣加速異地檔案傳輸的速度,Thomas 提到說 mount 指令不支援大於 4096 (4K) 的問>題,也提到這個現象受限於 CPU 架構,因為 Kernel Page Size 是相依於 CPU 架構。今天簡單地查了一下,>把這個問題紀錄一下,畢竟我們常要去探討 Disk I/O 速度,從硬體架構跟軟體架構的堆疊來看,最終還是得>設法找出最佳化的參數。唯有對問題更了解,才又辦法知道如何把速度榨出來~
  • [參考一] mount XFS 64KB block size cause "Function not implemented"

    XFS: A high-performance journaling filesystem

    http://oss.sgi.com/projects/xfs/

    Filesystem Block Size

    The minimum filesystem block size is 512 bytes. The maximum filesystem block size is the page size of the kernel, which is 4K on x86 architecture and is set as a kernel compile option on the IA64 architecture (up to 64 kilobyte pages). So, XFS supports filesystem block sizes up to 64 kilobytes (from 512 bytes, in powers of 2), when the kernel page size allows it.
  • [參考二] Mount ext4 partition with >4KiB block size
    From page_types.h under arch\x86\include\asm
    
    /* PAGE_SHIFT determines the page size */
    #define PAGE_SHIFT  12
    #define PAGE_SIZE   (_AC(1,UL) << PAGE_SHIFT)
    #define PAGE_MASK   (~(PAGE_SIZE-1))
    
    Here is a list of the archs that support 64KiB or greater page sizes: 
    ia64, mips, pa-risc, powerpc, sh, sparc64. So it looks like my best bet 
    it to find an old-PPC Mac.
    
  • [參考三] [