All of lore.kernel.org
 help / color / mirror / Atom feed
From: SeongJae Park <sjpark@amazon.com>
To: SeongJae Park <sjpark@amazon.com>
Cc: <jgross@suse.com>, <axboe@kernel.dk>, <konrad.wilk@oracle.com>,
	<roger.pau@citrix.com>, <linux-block@vger.kernel.org>,
	<pdurrant@amazon.com>, <linux-kernel@vger.kernel.org>,
	<sj38.park@gmail.com>, <xen-devel@lists.xenproject.org>
Subject: Re: [Xen-devel] [PATCH v13 0/5] xenbus/backend: Add memory pressure handler callback
Date: Mon, 13 Jan 2020 10:49:52 +0100	[thread overview]
Message-ID: <20200113094952.30727-1-sjpark@amazon.com> (raw)
In-Reply-To: <20191218183718.31719-1-sjpark@amazon.com> (raw)

Every patch of this patchset got at least one 'Reviewed-by' or 'Acked-by' from
appropriate maintainers by last Wednesday, and after that, got no comment yet.
May I ask some more comments?


Thanks,
SeongJae Park

On Wed, 18 Dec 2019 19:37:13 +0100 SeongJae Park <sjpark@amazon.com> wrote:

> Granting pages consumes backend system memory.  In systems configured
> with insufficient spare memory for those pages, it can cause a memory
> pressure situation.  However, finding the optimal amount of the spare
> memory is challenging for large systems having dynamic resource
> utilization patterns.  Also, such a static configuration might lack
> flexibility.
> 
> To mitigate such problems, this patchset adds a memory reclaim callback
> to 'xenbus_driver' (patch 1) and then introduce a lock for race
> condition avoidance (patch 2).  After that, patch 3 applies the callback
> mechanism to mitigate the problem in 'xen-blkback'.  The fourth and
> fifth patches are trivial cleanups; those fix nits we found during the
> development of this patchset.
> 
> Note that patches 1, 4, and 5 are not changed since v9.
> 
> 
> 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/patches/blkback/buffer_squeeze/v13
> 
> 
> Patch History
> -------------
> 
> Changes from v12
> (https://lore.kernel.org/xen-devel/20191218104232.9606-1-sjpark@amazon.com/)
>  - Do not unnecessarily disable interrupts (suggested by Juergen)
>  - Hold lock from xenbus side (suggested by Juergen)
> 
> Changes from v11
> (https://lore.kernel.org/xen-devel/20191217160748.693-2-sjpark@amazon.com/)
>  - Fix wrong trylock use (reported by Juergen)
>  - Merge patch 3 and 4 (suggested by Juergen)
>  - Update test result
> 
> Changes from v10
> (https://lore.kernel.org/xen-devel/20191216124527.30306-1-sjpark@amazon.com/)
>  - Fix race condition (reported by SeongJae, suggested by Juergen)
> 
> Changes from v9
> (https://lore.kernel.org/xen-devel/20191213153546.17425-1-sjpark@amazon.de/)
>  - Add 'Reviewed-by' and 'Acked-by' from Roger Pau Monné
>  - Update the commit message for overhead test of the 2nd path
> 
> Changes from v8
> (https://lore.kernel.org/xen-devel/20191213130211.24011-1-sjpark@amazon.de/)
>  - Drop 'Reviewed-by: Juergen' from the second patch
>    (suggested by Roger Pau Monné)
>  - Update contact of the new module param to SeongJae Park
>    <sjpark@amazon.de>
>    (suggested by Roger Pau Monné)
>  - Wordsmith the description of the parameter
>    (suggested by Roger Pau Monné)
>  - Fix dumb bugs
>    (suggested by Roger Pau Monné)
>  - Move module param definition to xenbus.c and reduce the number of
>    lines for this change
>    (suggested by Roger Pau Monné)
>  - Add a comment for the new callback, reclaim_memory, as other
>    callbacks also have
>  - Add another trivial cleanup of xenbus.c file (4th patch)
> 
> Changes from v7
> (https://lore.kernel.org/xen-devel/20191211181016.14366-1-sjpark@amazon.de/)
>  - Update sysfs-driver-xen-blkback for new parameter
>    (suggested by Roger Pau Monné)
>  - Use per-xen_blkif buffer_squeeze_end instead of global variable
>    (suggested by Roger Pau Monné)
> 
> Changes from v6
> (https://lore.kernel.org/linux-block/20191211042428.5961-1-sjpark@amazon.de/)
>  - Remove more unnecessary prefixes (suggested by Roger Pau Monné)
>  - Constify a variable (suggested by Roger Pau Monné)
>  - Rename 'reclaim' into 'reclaim_memory' (suggested by Roger Pau Monné)
>  - More wordsmith of the commit message (suggested by Roger Pau Monné)
> 
> Changes from v5
> (https://lore.kernel.org/linux-block/20191210080628.5264-1-sjpark@amazon.de/)
>  - Wordsmith the commit messages (suggested by Roger Pau Monné)
>  - Change the reclaim callback return type (suggested by Roger Pau
>    Monné)
>  - Change the type of the blkback squeeze duration variable
>    (suggested by Roger Pau Monné)
>  - Add a patch for removal of unnecessary static variable name prefixes
>    (suggested by Roger Pau Monné)
>  - Fix checkpatch.pl warnings
> 
> Changes from v4
> (https://lore.kernel.org/xen-devel/20191209194305.20828-1-sjpark@amazon.com/)
>  - Remove domain id parameter from the callback (suggested by Juergen
>    Gross)
>  - Rename xen-blkback module parameter (suggested by Stefan Nuernburger)
> 
> Changes from v3
> (https://lore.kernel.org/xen-devel/20191209085839.21215-1-sjpark@amazon.com/)
>  - Add general callback in xen_driver and use it (suggested by Juergen
>    Gross)
> 
> Changes from v2
> (https://lore.kernel.org/linux-block/af195033-23d5-38ed-b73b-f6e2e3b34541@amazon.com)
>  - Rename the module parameter and variables for brevity
>    (aggressive shrinking -> squeezing)
> 
> 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
>  - Merge two patches into one single patch
> 
> 
> SeongJae Park (5):
>   xenbus/backend: Add memory pressure handler callback
>   xenbus/backend: Protect xenbus callback with lock
>   xen/blkback: Squeeze page pools if a memory pressure is detected
>   xen/blkback: Remove unnecessary static variable name prefixes
>   xen/blkback: Consistently insert one empty line between functions
> 
>  .../ABI/testing/sysfs-driver-xen-blkback      | 10 +++++
>  drivers/block/xen-blkback/blkback.c           | 42 +++++++++----------
>  drivers/block/xen-blkback/common.h            |  1 +
>  drivers/block/xen-blkback/xenbus.c            | 28 ++++++++++---
>  drivers/xen/xenbus/xenbus_probe.c             |  8 +++-
>  drivers/xen/xenbus/xenbus_probe_backend.c     | 38 +++++++++++++++++
>  include/xen/xenbus.h                          |  3 ++
>  7 files changed, 103 insertions(+), 27 deletions(-)
> 
> -- 
> 2.17.1
> 

WARNING: multiple messages have this Message-ID (diff)
From: SeongJae Park <sjpark@amazon.com>
To: SeongJae Park <sjpark@amazon.com>
Cc: jgross@suse.com, axboe@kernel.dk, konrad.wilk@oracle.com,
	pdurrant@amazon.com, sj38.park@gmail.com,
	linux-kernel@vger.kernel.org, linux-block@vger.kernel.org,
	xen-devel@lists.xenproject.org, roger.pau@citrix.com
Subject: Re: [Xen-devel] [PATCH v13 0/5] xenbus/backend: Add memory pressure handler callback
Date: Mon, 13 Jan 2020 10:49:52 +0100	[thread overview]
Message-ID: <20200113094952.30727-1-sjpark@amazon.com> (raw)
In-Reply-To: <20191218183718.31719-1-sjpark@amazon.com> (raw)

Every patch of this patchset got at least one 'Reviewed-by' or 'Acked-by' from
appropriate maintainers by last Wednesday, and after that, got no comment yet.
May I ask some more comments?


Thanks,
SeongJae Park

On Wed, 18 Dec 2019 19:37:13 +0100 SeongJae Park <sjpark@amazon.com> wrote:

> Granting pages consumes backend system memory.  In systems configured
> with insufficient spare memory for those pages, it can cause a memory
> pressure situation.  However, finding the optimal amount of the spare
> memory is challenging for large systems having dynamic resource
> utilization patterns.  Also, such a static configuration might lack
> flexibility.
> 
> To mitigate such problems, this patchset adds a memory reclaim callback
> to 'xenbus_driver' (patch 1) and then introduce a lock for race
> condition avoidance (patch 2).  After that, patch 3 applies the callback
> mechanism to mitigate the problem in 'xen-blkback'.  The fourth and
> fifth patches are trivial cleanups; those fix nits we found during the
> development of this patchset.
> 
> Note that patches 1, 4, and 5 are not changed since v9.
> 
> 
> 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/patches/blkback/buffer_squeeze/v13
> 
> 
> Patch History
> -------------
> 
> Changes from v12
> (https://lore.kernel.org/xen-devel/20191218104232.9606-1-sjpark@amazon.com/)
>  - Do not unnecessarily disable interrupts (suggested by Juergen)
>  - Hold lock from xenbus side (suggested by Juergen)
> 
> Changes from v11
> (https://lore.kernel.org/xen-devel/20191217160748.693-2-sjpark@amazon.com/)
>  - Fix wrong trylock use (reported by Juergen)
>  - Merge patch 3 and 4 (suggested by Juergen)
>  - Update test result
> 
> Changes from v10
> (https://lore.kernel.org/xen-devel/20191216124527.30306-1-sjpark@amazon.com/)
>  - Fix race condition (reported by SeongJae, suggested by Juergen)
> 
> Changes from v9
> (https://lore.kernel.org/xen-devel/20191213153546.17425-1-sjpark@amazon.de/)
>  - Add 'Reviewed-by' and 'Acked-by' from Roger Pau Monné
>  - Update the commit message for overhead test of the 2nd path
> 
> Changes from v8
> (https://lore.kernel.org/xen-devel/20191213130211.24011-1-sjpark@amazon.de/)
>  - Drop 'Reviewed-by: Juergen' from the second patch
>    (suggested by Roger Pau Monné)
>  - Update contact of the new module param to SeongJae Park
>    <sjpark@amazon.de>
>    (suggested by Roger Pau Monné)
>  - Wordsmith the description of the parameter
>    (suggested by Roger Pau Monné)
>  - Fix dumb bugs
>    (suggested by Roger Pau Monné)
>  - Move module param definition to xenbus.c and reduce the number of
>    lines for this change
>    (suggested by Roger Pau Monné)
>  - Add a comment for the new callback, reclaim_memory, as other
>    callbacks also have
>  - Add another trivial cleanup of xenbus.c file (4th patch)
> 
> Changes from v7
> (https://lore.kernel.org/xen-devel/20191211181016.14366-1-sjpark@amazon.de/)
>  - Update sysfs-driver-xen-blkback for new parameter
>    (suggested by Roger Pau Monné)
>  - Use per-xen_blkif buffer_squeeze_end instead of global variable
>    (suggested by Roger Pau Monné)
> 
> Changes from v6
> (https://lore.kernel.org/linux-block/20191211042428.5961-1-sjpark@amazon.de/)
>  - Remove more unnecessary prefixes (suggested by Roger Pau Monné)
>  - Constify a variable (suggested by Roger Pau Monné)
>  - Rename 'reclaim' into 'reclaim_memory' (suggested by Roger Pau Monné)
>  - More wordsmith of the commit message (suggested by Roger Pau Monné)
> 
> Changes from v5
> (https://lore.kernel.org/linux-block/20191210080628.5264-1-sjpark@amazon.de/)
>  - Wordsmith the commit messages (suggested by Roger Pau Monné)
>  - Change the reclaim callback return type (suggested by Roger Pau
>    Monné)
>  - Change the type of the blkback squeeze duration variable
>    (suggested by Roger Pau Monné)
>  - Add a patch for removal of unnecessary static variable name prefixes
>    (suggested by Roger Pau Monné)
>  - Fix checkpatch.pl warnings
> 
> Changes from v4
> (https://lore.kernel.org/xen-devel/20191209194305.20828-1-sjpark@amazon.com/)
>  - Remove domain id parameter from the callback (suggested by Juergen
>    Gross)
>  - Rename xen-blkback module parameter (suggested by Stefan Nuernburger)
> 
> Changes from v3
> (https://lore.kernel.org/xen-devel/20191209085839.21215-1-sjpark@amazon.com/)
>  - Add general callback in xen_driver and use it (suggested by Juergen
>    Gross)
> 
> Changes from v2
> (https://lore.kernel.org/linux-block/af195033-23d5-38ed-b73b-f6e2e3b34541@amazon.com)
>  - Rename the module parameter and variables for brevity
>    (aggressive shrinking -> squeezing)
> 
> 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
>  - Merge two patches into one single patch
> 
> 
> SeongJae Park (5):
>   xenbus/backend: Add memory pressure handler callback
>   xenbus/backend: Protect xenbus callback with lock
>   xen/blkback: Squeeze page pools if a memory pressure is detected
>   xen/blkback: Remove unnecessary static variable name prefixes
>   xen/blkback: Consistently insert one empty line between functions
> 
>  .../ABI/testing/sysfs-driver-xen-blkback      | 10 +++++
>  drivers/block/xen-blkback/blkback.c           | 42 +++++++++----------
>  drivers/block/xen-blkback/common.h            |  1 +
>  drivers/block/xen-blkback/xenbus.c            | 28 ++++++++++---
>  drivers/xen/xenbus/xenbus_probe.c             |  8 +++-
>  drivers/xen/xenbus/xenbus_probe_backend.c     | 38 +++++++++++++++++
>  include/xen/xenbus.h                          |  3 ++
>  7 files changed, 103 insertions(+), 27 deletions(-)
> 
> -- 
> 2.17.1
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

  parent reply	other threads:[~2020-01-13  9:50 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-18 18:37 [PATCH v13 0/5] xenbus/backend: Add memory pressure handler callback SeongJae Park
2019-12-18 18:37 ` [Xen-devel] " SeongJae Park
2019-12-18 18:37 ` [PATCH v13 1/5] " SeongJae Park
2019-12-18 18:37   ` [Xen-devel] " SeongJae Park
2019-12-18 18:37 ` [PATCH v13 2/5] xenbus/backend: Protect xenbus callback with lock SeongJae Park
2019-12-18 18:37   ` [Xen-devel] " SeongJae Park
2019-12-20 11:42   ` Jürgen Groß
2019-12-20 11:42     ` [Xen-devel] " Jürgen Groß
2019-12-18 18:37 ` [PATCH v13 3/5] xen/blkback: Squeeze page pools if a memory pressure is detected SeongJae Park
2019-12-18 18:37   ` [Xen-devel] " SeongJae Park
2020-01-03  7:54   ` SeongJae Park
2020-01-03  7:54     ` SeongJae Park
2020-01-08 12:40   ` Roger Pau Monné
2020-01-08 12:40     ` [Xen-devel] " Roger Pau Monné
2019-12-18 18:37 ` [PATCH v13 4/5] xen/blkback: Remove unnecessary static variable name prefixes SeongJae Park
2019-12-18 18:37   ` [Xen-devel] " SeongJae Park
2019-12-18 18:38 ` SeongJae Park
2019-12-18 18:38   ` [Xen-devel] " SeongJae Park
2019-12-18 18:39 ` [PATCH v13 5/5] xen/blkback: Consistently insert one empty line between functions SeongJae Park
2019-12-18 18:39   ` [Xen-devel] " SeongJae Park
2020-01-13  9:49 ` SeongJae Park [this message]
2020-01-13  9:49   ` [Xen-devel] [PATCH v13 0/5] xenbus/backend: Add memory pressure handler callback SeongJae Park
2020-01-13  9:55   ` Roger Pau Monné
2020-01-13  9:55     ` Roger Pau Monné
2020-01-13  9:59     ` SeongJae Park
2020-01-13  9:59       ` SeongJae Park

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200113094952.30727-1-sjpark@amazon.com \
    --to=sjpark@amazon.com \
    --cc=axboe@kernel.dk \
    --cc=jgross@suse.com \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pdurrant@amazon.com \
    --cc=roger.pau@citrix.com \
    --cc=sj38.park@gmail.com \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.