I'm sorry but I failed to reproduce the problem.
Btrfs/012 in xfstests has been run for serveral hours but nothing happened.

Would you please give me some more details about the environment or the panic backtrace?

Thanks.

Qu

On Thu, 19 Dec 2013 10:27:22 -0500, Josef Bacik wrote:
I got a panic with btrfs/012 in the worker stuff. I'm bisecting it down to figure out which patch introduced it but I'm afraid it may just be one of the "replace blah with btrfs_workqueue" patches and not be super helpful. You may want to run it in a loop or something and see if you can trigger it in the meantime and I'll respond whenever my bisect finishes. Thanks,

Josef

On 12/17/2013 04:31 AM, Qu Wenruo wrote:
Add a new btrfs_workqueue_struct which use kernel workqueue to implement
most of the original btrfs_workers, to replace btrfs_workers.

With this patchset, redundant workqueue codes are replaced with kernel
workqueue infrastructure, which not only reduces the code size but also the
effort to maintain it.

The result from sysbench shows minor improvement on the following server:
CPU: two-way Xeon X5660
RAM: 4G
HDD: SAS HDD, 150G total, 100G partition for btrfs test

Test result on default mount option:
https://docs.google.com/spreadsheet/ccc?key=0AhpkL3ehzX3pdENjajJTWFg5d1BWbExnYWFpMTJxeUE&usp=sharing

Test result on "-o compress" mount option:
https://docs.google.com/spreadsheet/ccc?key=0AhpkL3ehzX3pdHdTTEJ6OW96SXJFaDR5enB1SzMzc0E&usp=sharing

Changelog:
v1->v2:
   - Fix some workqueue flags.
v2->v3:
   - Add the thresholding mechanism to simulate the old behavior
   - Convert all the btrfs_workers to btrfs_workrqueue_struct.
   - Fix some potential deadlock when executed in IRQ handler.
v3->v4:
- Change the ordered workqueue implement to fix the performance drop in 32K
     multi thread random write.
- Change the high priority workqueue implement to get an independent high
     workqueue without starving problem.
   - Simplify the btrfs_alloc_workqueue parameters.
   - Coding style cleanup.
   - Remove the redundant "_struct" suffix.

Qu Wenruo (18):
   btrfs: Cleanup the unused struct async_sched.
   btrfs: Added btrfs_workqueue_struct implemented ordered execution
     based on kernel workqueue
   btrfs: Add high priority workqueue support for btrfs_workqueue_struct
   btrfs: Add threshold workqueue based on kernel workqueue
   btrfs: Replace fs_info->workers with btrfs_workqueue.
   btrfs: Replace fs_info->delalloc_workers with btrfs_workqueue
   btrfs: Replace fs_info->submit_workers with btrfs_workqueue.
   btrfs: Replace fs_info->flush_workers with btrfs_workqueue.
   btrfs: Replace fs_info->endio_* workqueue with btrfs_workqueue.
   btrfs: Replace fs_info->rmw_workers workqueue with btrfs_workqueue.
   btrfs: Replace fs_info->cache_workers workqueue with btrfs_workqueue.
   btrfs: Replace fs_info->readahead_workers workqueue with
     btrfs_workqueue.
   btrfs: Replace fs_info->fixup_workers workqueue with btrfs_workqueue.
   btrfs: Replace fs_info->delayed_workers workqueue with
     btrfs_workqueue.
   btrfs: Replace fs_info->qgroup_rescan_worker workqueue with
     btrfs_workqueue.
   btrfs: Replace fs_info->scrub_* workqueue with btrfs_workqueue.
   btrfs: Cleanup the old btrfs_worker.
   btrfs: Cleanup the "_struct" suffix in btrfs_workequeue

fs/btrfs/async-thread.c | 821 ++++++++++++-----------------------------------
  fs/btrfs/async-thread.h  | 117 ++-----
  fs/btrfs/ctree.h         |  39 ++-
  fs/btrfs/delayed-inode.c |   6 +-
  fs/btrfs/disk-io.c       | 212 +++++-------
  fs/btrfs/extent-tree.c   |   4 +-
  fs/btrfs/inode.c         |  38 +--
  fs/btrfs/ordered-data.c  |  11 +-
  fs/btrfs/qgroup.c        |  15 +-
  fs/btrfs/raid56.c        |  21 +-
  fs/btrfs/reada.c         |   4 +-
  fs/btrfs/scrub.c         |  70 ++--
  fs/btrfs/super.c         |  36 +--
  fs/btrfs/volumes.c       |  16 +-
  14 files changed, 430 insertions(+), 980 deletions(-)





--
-----------------------------------------------------
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: quwen...@cn.fujitsu.com
-----------------------------------------------------

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

Reply via email to