From: Lars Ellenberg <lars.ellenberg@linbit.com>
To: drbd-dev@lists.linbit.com
Subject: Re: [Drbd-dev] drbd threads and workqueues: For what is each responsible?
Date: Mon, 26 Sep 2016 13:58:38 +0200 [thread overview]
Message-ID: <20160926115838.GA3302@soda.linbit> (raw)
In-Reply-To: <alpine.LRH.2.11.1609251548430.29933@mail.ewheeler.net>
On Sun, Sep 25, 2016 at 04:47:49PM -0700, Eric Wheeler wrote:
> Hello all,
>
> Would someone kindly point me at documentation or help me summarize the
> kernel thread and workqueues used by each DRBD resource?
>
> These are the ones I've found, please correct or add to my annotations as
> necessary to get a better understanding of the internal data flow:
>
> drbd_submit (workqueue, device->submit.wq):
> The workqueue that handles new read/write requests from the block layer,
> updates the AL as necessary, sends IO to the peer (or remote-reads if
> diskless). Does this thread write blocklayer-submitted IO to the
> backing device, too, or just metadata writes?
>
>
> drbd_receiver (thread, connection->receiver):
> The connection handling thread. Does this thread do anything besides
> make sure the connection is up and handle cleanup on disconnect?
>
> It looks like drbd_submit_peer_request is called several times from
> drbd_receiver.c, but is any disk IO performed by this thread?
>
>
> drbd_worker (thread, connection->worker):
> The thread that does drbd work which is not directly related to IO
> passed in by the block layer; action based on the work bits from
> device->flags such as:
> do_md_sync, update_on_disk_bitmap, go_diskless, drbd_ldev_destroy, do_start_resync
> Do metadata updates happen through this thread via
> do_md_sync/update_on_disk_bitmap, or are they passed off to another
> thread for writes? Is any blocklayer-submitted IO submitted by this
> thread?
>
>
> drbd_ack_receiver (thread, connection->ack_receiver):
> Thread that receives all ACK types from the peer node.
> Does this thread perform any disk IO? What kind?
>
>
> drbd_ack_sender (workqueue, connection->ack_sender):
> Thread that sends ACKs to the peer node.
> Does this thread perform any disk IO? What kind?
May I ask what you are doing?
It may help if I'm aware of your goals.
--
: Lars Ellenberg
: LINBIT | Keeping the Digital World Running
: DRBD -- Heartbeat -- Corosync -- Pacemaker
: R&D, Integration, Ops, Consulting, Support
DRBD® and LINBIT® are registered trademarks of LINBIT
next prev parent reply other threads:[~2016-09-26 11:58 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-25 23:47 [Drbd-dev] drbd threads and workqueues: For what is each responsible? Eric Wheeler
2016-09-26 11:58 ` Lars Ellenberg [this message]
2016-09-26 19:34 ` Eric Wheeler
2016-09-27 10:41 ` Lars Ellenberg
2016-09-29 22:34 ` Eric Wheeler
2016-10-03 9:52 ` Lars Ellenberg
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=20160926115838.GA3302@soda.linbit \
--to=lars.ellenberg@linbit.com \
--cc=drbd-dev@lists.linbit.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