On Fri, Sep 11, 2020 at 10:15:24AM +0200, Bean Huo wrote: > > What is special about ->ra_pages==0? Wouldn't this optimization > > still > > be valid if ->ra_pages==2? > > > > Doesn't this defeat the purpose of having ->ra_pages==0? > > > Hi Andrew > Sorry, I am still not quite understanding your above three questions. > > Based on my shallow understanding, ra_pages is associated with > read_ahead_kb. Seems ra_pages controls the maximum read-ahead window > size, but it doesn't work when the requested size exceeds ra_pages. > > If I set the read_ahead_kb to 0, also, as Christoph mentioned, MTD > forcibly sets ra_pages to 0. I think the intention is that only wants > to disable read-ahead, however, doesn't want > generic_file_buffered_read() to split the request and read data with > 4KB chunk size separately. They way I understood Richard this is intentional.