linux-lvm.redhat.com archive mirror
 help / color / mirror / Atom feed
From: Zdenek Kabelac <zdenek.kabelac@gmail.com>
To: Jaco Kroon <jaco@uls.co.za>, Roger Heflin <rogerheflin@gmail.com>
Cc: "linux-lvm@lists.linux.dev" <linux-lvm@lists.linux.dev>
Subject: Re: lvm2 deadlock
Date: Fri, 7 Jun 2024 00:14:17 +0200	[thread overview]
Message-ID: <67629722-b281-4ee9-b832-08e85c09efd5@gmail.com> (raw)
In-Reply-To: <77882d4d-91e4-4625-ab98-97738d13da8b@uls.co.za>

Dne 05. 06. 24 v 10:59 Jaco Kroon napsal(a):
> Hi,
> 
> On 2024/06/04 18:07, Zdenek Kabelac wrote:
>> Dne 04. 06. 24 v 13:52 Jaco Kroon napsal(a):
>> Last but not least -  disk scheduling policies also do have impact - to i.e. 
>> ensure better fairness - at the prices of lower throughput...
> We normally use mq-deadline, in this setup I notice this has been updated to 
> "none", the plan was to revert, this was done in collaboration with a 
> discussion with Bart van Assche.  Happy to revert this to be honest. 
> https://lore.kernel.org/all/07d8b189-9379-560b-3291-3feb66d98e5c@acm.org/ 
> relates.

Hi

So I guess we can tell the store like this -

When you've created your 'snapshot' of a thin-volume - this enforces full 
flush (& fsfreeze) of a thin volume - so any dirty pages need to written in 
thin pool before snapshot could be taken (and thin pool should not run out of 
space) - this CAN potentially hold your system running for a long time 
(depending on performance of your storage) and may cause various lock-ups 
states of your system if you are using this 'snapshoted' volume for anything 
else - as the volume is suspended - so it blocks further operations on this 
device  - eventually causing full system circular deadlock  (catch 22) - this 
is hard to analyze without whole picture of the system.

We may eventually think whether we can somehow minimize the amount of holding
vglock and suspending with flush & fsfreeze -  but it's about some future 
possible enhancement and flush disk upfront to minimize dirty size.

For now reducing dirty page queue to minize the blocking time associated with 
snapshoting is a right choice  (although 500M is probably unnecessarily low...)


Regards

Zdenek


  reply	other threads:[~2024-06-06 22:14 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-30 10:21 lvm2 deadlock Jaco Kroon
2024-05-31 12:34 ` Zdenek Kabelac
2024-06-03 12:56   ` Jaco Kroon
2024-06-03 19:25     ` Zdenek Kabelac
2024-06-04  8:46       ` Jaco Kroon
2024-06-04 10:48         ` Roger Heflin
2024-06-04 11:52           ` Jaco Kroon
2024-06-04 13:30             ` Roger Heflin
2024-06-04 13:46               ` Stuart D Gathman
2024-06-04 14:49                 ` Jaco Kroon
2024-06-04 15:03                   ` Roger Heflin
2024-06-04 14:07               ` Jaco Kroon
2024-06-04 16:07             ` Zdenek Kabelac
2024-06-05  8:59               ` Jaco Kroon
2024-06-06 22:14                 ` Zdenek Kabelac [this message]
2024-06-06 22:17                   ` Zdenek Kabelac
2024-06-07  9:03                     ` Jaco Kroon
2024-06-07  9:26                       ` Zdenek Kabelac
2024-06-07  9:36                         ` Jaco Kroon
2024-09-02  5:48                           ` Unsubscribe box, listen

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=67629722-b281-4ee9-b832-08e85c09efd5@gmail.com \
    --to=zdenek.kabelac@gmail.com \
    --cc=jaco@uls.co.za \
    --cc=linux-lvm@lists.linux.dev \
    --cc=rogerheflin@gmail.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).