Re: [PATCH v2 0/9] btrfs: Replace the btrfs_workers with kernel workqueue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Sep 12, 2013 at 04:08:15PM +0800, Qu Wenruo wrote:
> Use kernel workqueue and kernel workqueue based new btrfs_workqueue_struct to replace
> the old btrfs_workers.
> The main goal is to reduce the redundant codes(800 lines vs 200 lines) and
> try to get benefits from the latest workqueue changes.
> 
> About the performance, the test suite I used is bonnie++,
> and there seems no significant regression.

You're replacing a core infrastructure building block, more testing is
absolutely required, but using the available infrastructure is a good
move.

I found a few things that do not replace the current implementation
one-to-one:

* the thread names lost the btrfs- prefix, this makes it hard to
  identify the processes and we want this, either debugging or
  performance monitoring

* od high priority tasks were handled in threads with unchanged priority
  and just prioritized within the queue
  newly addded WQ_HIGHPRI elevates the nice level of the thread, ie.
  it's not the same thing as before -- I need to look closer

* the idle_thresh attribute is not reflected in the new code, I don't
  know if the kernel workqueues have something equivalent


Other random comments:

* you can use the same files for the new helpers, instead of bwq.[ch]

* btrfs_workqueue_struct can drop the _struct suffix

* WQ_MEM_RECLAIM for the scrub thread does not seem right

* WQ_FREEZABLE should be probably set


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




[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux