Re: [PATCH] mm, swap: Make VMA based swap readahead configurable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Minchan Kim <minchan@xxxxxxxxxx> writes:

> On Mon, Sep 25, 2017 at 01:54:42PM +0800, Huang, Ying wrote:
>> Hi, Minchan,
>> 
>> Minchan Kim <minchan@xxxxxxxxxx> writes:
>> 
>> > Hi Huang,
>> >
>> > On Thu, Sep 21, 2017 at 09:33:10AM +0800, Huang, Ying wrote:
>> >> From: Huang Ying <ying.huang@xxxxxxxxx>
>> 
>> [snip]
>> 
>> >> diff --git a/mm/Kconfig b/mm/Kconfig
>> >> index 9c4bdddd80c2..e62c8e2e34ef 100644
>> >> --- a/mm/Kconfig
>> >> +++ b/mm/Kconfig
>> >> @@ -434,6 +434,26 @@ config THP_SWAP
>> >>  
>> >>  	  For selection by architectures with reasonable THP sizes.
>> >>  
>> >> +config VMA_SWAP_READAHEAD
>> >> +	bool "VMA based swap readahead"
>> >> +	depends on SWAP
>> >> +	default y
>> >> +	help
>> >> +	  VMA based swap readahead detects page accessing pattern in a
>> >> +	  VMA and adjust the swap readahead window for pages in the
>> >> +	  VMA accordingly.  It works better for more complex workload
>> >> +	  compared with the original physical swap readahead.
>> >> +
>> >> +	  It can be controlled via the following sysfs interface,
>> >> +
>> >> +	    /sys/kernel/mm/swap/vma_ra_enabled
>> >> +	    /sys/kernel/mm/swap/vma_ra_max_order
>> >
>> > It might be better to discuss in other thread but if you mention new
>> > interface here again, I will discuss it here.
>> >
>> > We are creating new ABI in here so I want to ask question in here.
>> >
>> > Did you consier to use /sys/block/xxx/queue/read_ahead_kb for the
>> > swap readahead knob? Reusing such common/consistent knob would be better
>> > than adding new separate konb.
>> 
>> The problem is that the configuration of VMA based swap readahead is
>> global instead of block device specific.  And because it works in
>> virtual way, that is, the swap blocks on the different block devices may
>> be readahead together.  It's a little hard to use the block device
>> specific configuration.
>
> Fair enough. page-cluster from the beginning should have been like that
> instead of vma_ra_max_order.
>
> One more questions: Do we need separate vma_ra_enable?
>
> Can't we disable it via echo 0 > /sys/kernel/mm/swap/vma_ra_max_order
> like page-cluster?

The difference is,

vma_ra_eanble: 0
  => use original physical swap readahead

vma_ra_enable: 1 && vma_ra_max_order: 0
  => use VMA based swap readahead and disable the readahead.

Best Regards,
Huang, Ying

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]
  Powered by Linux