mbox series

[v2,0/1] xen/blkback: Aggressively shrink page pools if a memory pressure is detected

Message ID 20191205150932.3793-1-sjpark@amazon.com (mailing list archive)
Headers show
Series xen/blkback: Aggressively shrink page pools if a memory pressure is detected | expand

Message

SeongJae Park Dec. 5, 2019, 3:09 p.m. UTC
Each `blkif` has a free pages pool for the grant mapping.  The size of
the pool starts from zero and be increased on demand while processing
the I/O requests.  If current I/O requests handling is finished or 100
milliseconds has passed since last I/O requests handling, it checks and
shrinks the pool to not exceed the size limit, `max_buffer_pages`.

Therefore, `blkfront` running guests can cause a memory pressure in the
`blkback` running guest by attaching a large number of block devices and
inducing I/O.  System administrators can avoid such problematic
situations by limiting the maximum number of devices each guest can
attach.  However, finding the optimal limit is not so easy.  Improper
set of the limit can result in the memory pressure or a resource
underutilization.  This commit avoids such problematic situations by
shrinking the pools aggressively (further the limit) for a while (users
can set this duration via a module parameter) if a memory pressure is
detected.


Base Version
------------

This patch is based on v5.4.  A complete tree is also available at my
public git repo:
https://github.com/sjp38/linux/tree/blkback_aggressive_shrinking_v2


Patch History
-------------

Changes from v1 (https://lore.kernel.org/xen-devel/20191204113419.2298-1-sjpark@amazon.com/)
 - Adjust the description to not use the term, `arbitrarily` (suggested
   by Paul Durrant)
 - Specify time unit of the duration in the parameter description,
   (suggested by Maximilian Heyne)
 - Change default aggressive shrinking duration from 1ms to 10ms
 - Merged two patches into one single patch


SeongJae Park (1):
  xen/blkback: Aggressively shrink page pools if a memory pressure is
    detected

 drivers/block/xen-blkback/blkback.c | 35 +++++++++++++++++++++++++++--
 1 file changed, 33 insertions(+), 2 deletions(-)

Comments

SeongJae Park Dec. 5, 2019, 3:16 p.m. UTC | #1
On 05.12.19 16:09, SeongJae Park wrote:
> Each `blkif` has a free pages pool for the grant mapping.  The size of
> the pool starts from zero and be increased on demand while processing
> the I/O requests.  If current I/O requests handling is finished or 100
> milliseconds has passed since last I/O requests handling, it checks and
> shrinks the pool to not exceed the size limit, `max_buffer_pages`.
>
> Therefore, `blkfront` running guests can cause a memory pressure in the
> `blkback` running guest by attaching a large number of block devices and
> inducing I/O.  System administrators can avoid such problematic
> situations by limiting the maximum number of devices each guest can
> attach.  However, finding the optimal limit is not so easy.  Improper
> set of the limit can result in the memory pressure or a resource
> underutilization.  This commit avoids such problematic situations by
> shrinking the pools aggressively (further the limit) for a while (users
> can set this duration via a module parameter) if a memory pressure is
> detected.
>
>
> Base Version
> ------------
>
> This patch is based on v5.4.  A complete tree is also available at my
> public git repo:
> https://github.com/sjp38/linux/tree/blkback_aggressive_shrinking_v2
>
>
> Patch History
> -------------
>
> Changes from v1 (https://lore.kernel.org/xen-devel/20191204113419.2298-1-sjpark@amazon.com/)
>  - Adjust the description to not use the term, `arbitrarily` (suggested
>    by Paul Durrant)
>  - Specify time unit of the duration in the parameter description,
>    (suggested by Maximilian Heyne)
>  - Change default aggressive shrinking duration from 1ms to 10ms
>  - Merged two patches into one single patch
>
>
> SeongJae Park (1):
>   xen/blkback: Aggressively shrink page pools if a memory pressure is
>     detected
>
>  drivers/block/xen-blkback/blkback.c | 35 +++++++++++++++++++++++++++--
>  1 file changed, 33 insertions(+), 2 deletions(-)


CC-ing xen-devel@lists.xenproject.org


Thanks,
SeongJae Park

>