From: Zdenek Kabelac <zdenek.kabelac@gmail.com>
To: Jaco Kroon <jaco@uls.co.za>,
"linux-lvm@lists.linux.dev" <linux-lvm@lists.linux.dev>
Subject: Re: lvm2 deadlock
Date: Mon, 3 Jun 2024 21:25:45 +0200 [thread overview]
Message-ID: <b77c19de-48b4-4a7d-9174-0d42414ce920@gmail.com> (raw)
In-Reply-To: <9bac4556-bdf8-4034-9322-522277ff311e@uls.co.za>
Dne 03. 06. 24 v 14:56 Jaco Kroon napsal(a):
> Hi,
>
> Thanks for the insight. Please refer below.
>
> On 2024/05/31 14:34, Zdenek Kabelac wrote:
>> Dne 30. 05. 24 v 12:21 Jaco Kroon napsal(a):
>>> Hi,
>>>
>> I'm kind of missing here to see your 'deadlock' scenario from this description.
> Well, stuff blocks, until the cookie is released by using the dmset
> udevcomplete command, so wrong wording perhaps?
>>
>> Lvm2 takes the VG lock - creates LV - waits for udev till it's finished with
>> its job and confirms all the udev work with dmsetup udevcomplete.
>
> So what I understand from this is that udevcomplete ends up never executing?
> Is there some way of confirming this?
udevcomplete needs someone to create 'semaphore' for completion in the first
place.
>>
>> It's also unclear which OS are you using - Debian, Fedora, ???
>
> Gentoo.
>
>> Version of your packages ?
>
> I thought I did provide this:
>
> Kernel version was 6.4.12 when this hapened, is now 6.9.3.
>
> crowsnest [12:19:47] /run/lvm # udevadm --version
> 254
>
> aka systemd-utils-254.10
>
> lvm2-2.03.22
Since this is most likely your personal build - please provide full output of
'lvm version' command.
For the 'udev' synchronization, there needs to be '--enable-udev_sync'
configure option. So let's check which configure/build option were used here.
And also preferably upstream udev rules.
>
> Thanks for the feedback, what you say makes perfect sense, and the implication
> is that there are only a few options:
>
> 1. Something is resulting in the udev trigger to take longer than three
> minutes, and the dmsetup udevcomplete never being executed.
systemd simply kills udev worker if takes too long.
However on properly running system, it would be very very unusual to hit these
timeouts - you would need to work with thousands of devices....
>
> This could potentially be due to extremely heavy disk IO, or LVM itself
> freezing IO.
well reducing the percentage of '/proc/sys/vm/dirty_ration' may possibly help
when your disk system is too slow and you create a very lengthy 'sync' io
queues...
> I don't see the default value for udev_log from the config. Explicitly set to
> debug now, but still not seeing anything logged to syslog. Running with udevd
> --debug, which logs to a ramdisk on /run. Hopefully (if/when this happens
> again) that may shed some light. There is 256GB of RAM available, so as long
> as the log doesn't grow too quickly should be fine.
A lot of RAM may possibly create a huge amount of dirty pages...
Regards
Zdenek
next prev parent reply other threads:[~2024-06-03 19:25 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 [this message]
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
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=b77c19de-48b4-4a7d-9174-0d42414ce920@gmail.com \
--to=zdenek.kabelac@gmail.com \
--cc=jaco@uls.co.za \
--cc=linux-lvm@lists.linux.dev \
/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.