All of lore.kernel.org
 help / color / mirror / Atom feed
From: Qu Wenruo <quwenruo@cn.fujitsu.com>
To: Mike Snitzer <snitzer@redhat.com>
Cc: axboe@kernel.dk, Lukas Czerner <lczerner@redhat.com>,
	Joe Thornber <thornber@redhat.com>,
	linux-lvm@redhat.com
Subject: Re: [linux-lvm] [BUG?] OOM executing blkdiscard on a thin lv
Date: Thu, 27 Nov 2014 08:32:43 +0800	[thread overview]
Message-ID: <5476712B.2030404@cn.fujitsu.com> (raw)
In-Reply-To: <20141126150617.GA30136@redhat.com>


-------- Original Message --------
Subject: Re: [BUG?] OOM executing blkdiscard on a thin lv
From: Mike Snitzer <snitzer@redhat.com>
To: Qu Wenruo <quwenruo@cn.fujitsu.com>
Date: 2014年11月26日 23:06
> On Wed, Nov 26 2014 at  2:54am -0500,
> Qu Wenruo <quwenruo@cn.fujitsu.com> wrote:
>
>> Hi,
>>
>> [Bug]
>> When I try to discard the whole thin lv using blkdiscard, an OOM
>> occurs and I lost my ssh connection.
>> TTY login also fails to start, although kernel and network still
>> looks alive but no way to login into the system.
>> Have to reboot.
>>
>> Not sure if this is a bug in blkdiscard or lvm.
> It is a bug in the kernel's blkdev_issue_discard() for allowing too many
> inflight bios at once.  We probably should add an upper bound for how
> many inflight discard bios blkdev_issue_discard() will allow at any one
> time.
>
> Reason why so many discard bios are being issued is that the DM thin
> device currently only allows a discard as large as the DM thin-pool's
> configured blocksize.  So if you're using something like a 64K or
> whatever for the thin-pool blocksize then divide your 1TB thin lv by
> that value and you can quickly see why it takes so may discard bios to
> cover the entire logical address space of the 1TB thin device.
>
> Some good news is that Joe has been working on range (multi block)
> discard support to allow for very large discards to be issued to DM thin
> devices.  He is focusing on getting this working on dm-cache at the
> moment but once that is complete bringing it to dm-thin is next.  It is
> a stretch goal to have that land in time for 3.19 merge window (but it
> is quickly approaching so it may need to wait for 3.20).
Thanks for the explain, got it.
I'll wait several kernel releases and try it again.
>> [lvs output]
>>    LV       VG           Attr       LSize  Pool     Origin Data% Move
>> Log Cpy%Sync Convert
>>    disk1    test_vg      Vwi-a-tz--  1.00t thinpool 0.77
>>    thinpool test_vg      twi-a-tz-- 30.00g 26.28
>>
>> [Reproducer]
>> 1. Make a thin pool with 30G space.
>> 2. Create 1T thin lv from the thin pool created in 1.
>> 3. Do some operation to occupy some space in thin lv
>> 4. Exec blkdiscard on the thin lv
>>
>> [Related package version]
>> kernel-3.17.3-200.fc20.x86_64
>> lvm2-2.02.106-1.fc20.x86_64
>> util-linux-2.24.2-1.fc20.x86_64
>>
>> [How to discard thin lv]
>> BTW, what's the proper method to discard all allocated space for a thin lv?
>> Lvremove and lvcreate?!
> Moving forward it'll be a new tool that Joe wrote called thin_trim:
> https://github.com/jthornber/thin-provisioning-tools/commit/8e921580554ed91e84bb68ea32a8c2ea47ad6ff3
>
> But that code hasn't been fully tested and included in the
> device-mapper-persistent-data package yet.
OK, so I'll use the lvremove and lvcreate until the tool gets mature.

Thanks,
Qu

      reply	other threads:[~2014-11-27  0:32 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-26  7:54 [linux-lvm] [BUG?] OOM executing blkdiscardon a thin lv Qu Wenruo
2014-11-26 15:06 ` [linux-lvm] [BUG?] OOM executing blkdiscard on " Mike Snitzer
2014-11-27  0:32   ` Qu Wenruo [this message]

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=5476712B.2030404@cn.fujitsu.com \
    --to=quwenruo@cn.fujitsu.com \
    --cc=axboe@kernel.dk \
    --cc=lczerner@redhat.com \
    --cc=linux-lvm@redhat.com \
    --cc=snitzer@redhat.com \
    --cc=thornber@redhat.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 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.