On Mon, Jun 19, 2017 at 09:01:36PM +0800, Sean Fu wrote: > Make alloc_page_buffers support circular buffer list and initialise > b_state field. > Optimize the performance by removing the buffer list traversal to create > circular buffer list. > - bh = head = alloc_page_buffers(page, blocksize, 1); > + bh = head = alloc_page_buffers(page, blocksize, 1, 0, 0); Frankly, I don't like that change of calling conventions; it's very easy to mess the order of arguments when using interfaces like that and it's hell to find when trying to debug the resulting mess. Do you really get an observable change in performance? What loads are triggering it?