Re: [PATCH 0/2] swap: improve swap I/O rate

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

 



On 05/21/2012 04:51 PM, Christian Ehrhardt wrote:

> [...]
> 
>>> [missing patch #3]
>>> I tried to get a similar patch working for swap out in
>>> shrink_page_list. And
>>> it worked in functional terms, but the additional mergin was negligible.
>>
>>
>> I think we have already done it.
>> Look at shrink_mem_cgroup_zone which ends up calling shrink_page_list
>> so we already have applied
>> I/O plugging.
>>
> 
> I saw that code and it is part of the kernel I used to test my patches.
> But despite that code and my additional experiments of plug/unplug in
> shrink_page_list the effective I/O size of swap write stays at almost 4k.


I meant your plugging in shrink_page_list is redundant 

> 
> Thereby so far I can tell you that the plugs in shrink_page_list and
> shrink_mem_cgroup_zone aren't sufficient - at least for my case.


Yeb.

> You saw the blocktrace summaries in my first mail, an excerpt of a write
> submission stream looks like that:
> 
>  94,4   10      465     0.023520923   116  A   W 28868648 + 8 <- (94,5)
> 28868456
>  94,5   10      466     0.023521173   116  Q   W 28868648 + 8 [kswapd0]
>  94,5   10      467     0.023522048   116  G   W 28868648 + 8 [kswapd0]
>  94,5   10      468     0.023522235   116  P   N [kswapd0]
>  94,5   10      469     0.023759892   116  I   W 28868648 + 8 ( 237844)
> [kswapd0]
>  94,5   10      470     0.023760079   116  U   N [kswapd0] 1
>  94,5   10      471     0.023760360   116  D   W 28868648 + 8 ( 468)
> [kswapd0]
>  94,4   10      472     0.023891235   116  A   W 28868656 + 8 <- (94,5)
> 28868464
>  94,5   10      473     0.023891454   116  Q   W 28868656 + 8 [kswapd0]
>  94,5   10      474     0.023892110   116  G   W 28868656 + 8 [kswapd0]
>  94,5   10      475     0.023944610   116  I   W 28868656 + 8 ( 52500)
> [kswapd0]
>  94,5   10      476     0.023944735   116  U   N [kswapd0] 1
>  94,5   10      477     0.023944892   116  D   W 28868656 + 8 ( 282)
> [kswapd0]
>  94,5   16       19     0.024023192 16033  C   W 28868648 + 8 ( 262832) [0]
>  94,5   24       37     0.024196752 14526  C   W 28868656 + 8 ( 251860) [0]
> [...]
> 
> But we can split this discussion from my other two patches and I would
> be happy to provide my test environment for further tests if there are
> new suggestions/patches/...
> 
>>> Maybe the cond_resched triggers much mor often than I expected, I'm
>>> open for
>>> suggestions regarding improving the pagout I/O sizes as well.
>>
>>
>> We could enhance write out by batch like ext4_bio_write_page.
>>
> 
> Do you mean the changes brought by "bd2d0210 ext4: use bio layer instead
> of buffer layer in mpage_da_submit_io" ?


Yeb, I think it's helpful for your case but it's not trivial to implement it, IMHO.

> 
> 
> 



-- 
Kind regards,
Minchan Kim

--
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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
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]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]