All of lore.kernel.org
 help / color / mirror / Atom feed
From: Qu Wenruo <quwenruo@cn.fujitsu.com>
To: dsterba@suse.cz, linux-btrfs@vger.kernel.org
Subject: Re: [PATCH v3 03/17] btrfs: Add high priority workqueue support for btrfs_workqueue_struct
Date: Fri, 08 Nov 2013 08:53:00 +0800	[thread overview]
Message-ID: <527C35EC.8000307@cn.fujitsu.com> (raw)
In-Reply-To: <20131107164134.GJ16662@twin.jikos.cz>

On Thu, 7 Nov 2013 17:41:34 +0100, David Sterba wrote:
> On Thu, Nov 07, 2013 at 01:51:53PM +0800, Qu Wenruo wrote:
>> @@ -753,6 +754,19 @@ struct btrfs_workqueue_struct *btrfs_alloc_workqueue(char *name,
>>   		}
>>   	}
>>   
>> +	if (high_name) {
>> +		ret->high_wq = alloc_workqueue(high_name,
>> +					       flags | WQ_HIGHPRI,
>> +					       max_active);
> I'd really like to add the btrfs- prefix of the workqueue. Quoting our
> previous discussion:
Sorry, I forgot to add the "btrfs-" prefix.
But on the other hand, I prefer to add the prefix outside the 
alloc_btrfs_workqueue,
which means change the strings passed to alloc_btrfs_workqueue.
(Maybe add a small macro?)

Which way do you prefer?
>
>>> * the thread names lost the btrfs- prefix, this makes it hard to
>>>     identify the processes and we want this, either debugging or
>>>     performance monitoring
>> Yes, that's right.
>> But the problem is, even I added "btrfs-" prefix to the wq,
>> the real work executor is kernel workers without any prefix.
>> Still hard to debugging due to the workqueue mechanism.
> AFAICS the string passed down to alloc_workqueue ends up in the process
> name, this is what I'm expecing and don't understand what do you mean.
>
>
> david
>
Sorry for the misunderstanding words.
What I mean is that, since we use the kernel workqueue,
there will be no kthread named the "btrfs-worker" or something like it.
(Only when WQ_MEM_RECLAIM is set, the rescuer kthread will have the name,
See kernel/workqueue.c if(flags & WQ_MEM_RECLAIM) para).

The real executor will be something like kworker/u8:6(Unbound workqueue),
so even the prefix is added, it's still harder than the original way to 
debug
workqueue.

What makes it worse is that, to simulate the thresholding and ordering,
I added serveral helper functions, which even makes kernel tracing not so
meaningful(all function queued to workqueue will all be normal_helper or
ordered_helper).

Neither way, the prefix will be added, but I consider this may not really
help to debug or monitor.

Qu.



-- 
-----------------------------------------------------
Qu Wenruo
Development Dept.I
Nanjing Fujitsu Nanda Software Tech. Co., Ltd.(FNST)
No. 6 Wenzhu Road, Nanjing, 210012, China
TEL: +86+25-86630566-8526
COINS: 7998-8526
FAX: +86+25-83317685
MAIL: quwenruo@cn.fujitsu.com
-----------------------------------------------------

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-

  reply	other threads:[~2013-11-08  0:52 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-07  5:51 [PATCH v3 00/17] Replace btrfs_workers with kernel workqueue based btrfs_workqueue_struct Qu Wenruo
2013-11-07  5:51 ` [PATCH v3 01/17] btrfs: Cleanup the unused struct async_sched Qu Wenruo
2013-11-07 17:24   ` Josef Bacik
2013-11-07  5:51 ` [PATCH v3 02/17] btrfs: Added btrfs_workqueue_struct implemented ordered execution based on kernel workqueue Qu Wenruo
2013-11-07  9:33   ` Stefan Behrens
2013-11-07 16:05     ` David Sterba
2013-11-08  0:32       ` Qu Wenruo
2013-11-07 18:08   ` Josef Bacik
2013-11-07 18:09     ` Josef Bacik
2013-11-08  0:58       ` Qu Wenruo
2013-11-07  5:51 ` [PATCH v3 03/17] btrfs: Add high priority workqueue support for btrfs_workqueue_struct Qu Wenruo
2013-11-07 16:41   ` David Sterba
2013-11-08  0:53     ` Qu Wenruo [this message]
2013-11-12 16:59       ` David Sterba
2013-11-13  0:53         ` Qu Wenruo
2013-11-07  5:51 ` [PATCH v3 04/17] btrfs: Add threshold workqueue based on kernel workqueue Qu Wenruo
2013-11-07  5:51 ` [PATCH v3 05/17] btrfs: Replace fs_info->workers with btrfs_workqueue Qu Wenruo
2013-11-07  5:51 ` [PATCH v3 06/17] btrfs: Replace fs_info->delalloc_workers " Qu Wenruo
2013-11-07  5:51 ` [PATCH v3 07/17] btrfs: Replace fs_info->submit_workers " Qu Wenruo
2013-11-07  5:51 ` [PATCH v3 08/17] btrfs: Replace fs_info->flush_workers " Qu Wenruo
2013-11-07  5:51 ` [PATCH v3 09/17] btrfs: Replace fs_info->endio_* workqueue " Qu Wenruo
2013-11-07  5:52 ` [PATCH v3 10/17] btrfs: Replace fs_info->rmw_workers " Qu Wenruo
2013-11-07  5:52 ` [PATCH v3 11/17] btrfs: Replace fs_info->cache_workers " Qu Wenruo
2013-11-07  5:52 ` [PATCH v3 12/17] btrfs: Replace fs_info->readahead_workers " Qu Wenruo
2013-11-07  5:52 ` [PATCH v3 13/17] btrfs: Replace fs_info->fixup_workers " Qu Wenruo
2013-11-07  5:52 ` [PATCH v3 14/17] btrfs: Replace fs_info->delayed_workers " Qu Wenruo
2013-11-07  5:52 ` [PATCH v3 15/17] btrfs: Replace fs_info->qgroup_rescan_worker " Qu Wenruo
2013-11-07  5:52 ` [PATCH v3 16/17] btrfs: Replace fs_info->scrub_* " Qu Wenruo
2013-11-07  5:52 ` [PATCH v3 17/17] btrfs: Cleanup the old btrfs_worker Qu Wenruo
2013-11-07 17:52 ` [PATCH v3 00/17] Replace btrfs_workers with kernel workqueue based btrfs_workqueue_struct David Sterba
2013-11-08  0:55   ` Qu Wenruo
2013-11-07 17:54 ` Chris Mason
2013-11-08  0:56   ` Qu Wenruo
2013-11-26  1:39   ` Qu Wenruo
2013-11-26  7:31     ` Liu Bo
2013-11-26  8:33       ` Qu Wenruo

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=527C35EC.8000307@cn.fujitsu.com \
    --to=quwenruo@cn.fujitsu.com \
    --cc=dsterba@suse.cz \
    --cc=linux-btrfs@vger.kernel.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.