From: "Zhang, Yanmin" <yanmin_zhang@linux.intel.com>
To: Jens Axboe <jens.axboe@oracle.com>
Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
chris.mason@oracle.com, david@fromorbit.com, hch@infradead.org,
akpm@linux-foundation.org, jack@suse.cz
Subject: Re: [PATCH 0/11] Per-bdi writeback flusher threads #4
Date: Tue, 19 May 2009 14:11:03 +0800 [thread overview]
Message-ID: <1242713463.2560.5.camel@ymzhang> (raw)
In-Reply-To: <1242649192-16263-1-git-send-email-jens.axboe@oracle.com>
On Mon, 2009-05-18 at 14:19 +0200, Jens Axboe wrote:
> Hi,
>
> This is the fourth version of this patchset. Chances since v3:
>
> - Dropped a prep patch, it has been included in mainline since.
>
> - Add a work-to-do list to the bdi. This is struct bdi_work. Each
> wb thread will notice and execute work on bdi->work_list. The arguments
> are which sb (or NULL for all) to flush and how many pages to flush.
>
> - Fix a bug where not all bdi's would end up on the bdi_list, so potentially
> some data would not be flushed.
>
> - Make wb_kupdated() pass on wbc->older_than_this so we maintain the same
> behaviour for kupdated flushes.
>
> - Have the wb thread flush first before sleeping, to avoid losing the
> first flush on lazy register.
>
> - Rebase to newer kernels.
Jens,
Applied V4 to 2.6.30-rc6 and got some confliction reports.
----------patch-2----------
patching file fs/buffer.c
patching file fs/fs-writeback.c
patching file fs/ntfs/super.c
patching file fs/sync.c
patching file include/linux/backing-dev.h
patching file include/linux/fs.h
patching file include/linux/writeback.h
patching file mm/backing-dev.c
patching file mm/page-writeback.c
Hunk #5 FAILED at 666.
1 out of 6 hunks FAILED -- saving rejects to file mm/page-writeback.c.rej
patching file mm/vmscan.c
----------patch-3----------
patching file fs/fs-writeback.c
patching file include/linux/writeback.h
patching file mm/Makefile
patching file mm/pdflush.c
----------patch-4----------
patching file fs/fs-writeback.c
patching file include/linux/backing-dev.h
patching file mm/backing-dev.c
----------patch-5----------
patching file fs/fs-writeback.c
patching file include/linux/backing-dev.h
patching file include/linux/fs.h
patching file mm/backing-dev.c
patching file mm/page-writeback.c
Hunk #1 succeeded at 708 with fuzz 2 (offset 41 lines).
Hunk #2 FAILED at 716.
1 out of 2 hunks FAILED -- saving rejects to file mm/page-writeback.c.rej
Then, I manually fixed the conflictions, but compilation reports errors.
Your patches seem not clean.
CC fs/exec.o
mm/page-writeback.c: In function 'background_writeout':
mm/page-writeback.c:695: error: 'MAX_WRITEBACK_PAGES' undeclared (first use in this function)
mm/page-writeback.c:695: error: (Each undeclared identifier is reported only once
mm/page-writeback.c:695: error: for each function it appears in.)
mm/page-writeback.c: In function 'wb_kupdate':
mm/page-writeback.c:769: error: 'MAX_WRITEBACK_PAGES' undeclared (first use in this function)
mm/page-writeback.c: In function 'wb_timer_fn':
mm/page-writeback.c:802: error: implicit declaration of function 'pdflush_operation'
make[1]: *** [mm/page-writeback.o] Error 1
make[1]: *** Waiting for unfinished jobs....
CC fs/pipe.o
Yanmin
>
> - Little fixes here and there.
>
> So generally not a lot of changes, the major one is using the ->work_list
> and getting rid of writeback_acquire()/writeback_release(). This fixes
> the concern Jan Kara had about missing sync/WB_SYNC_ALL, if writeback
> was already in progress.
>
> I've run a few benchmarks today:
>
> 1) Large file writes from a single process
> 2) Random file writes from multiple (16) processes.
next prev parent reply other threads:[~2009-05-19 6:11 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-18 12:19 [PATCH 0/11] Per-bdi writeback flusher threads #4 Jens Axboe
2009-05-18 12:19 ` [PATCH 01/11] writeback: move dirty inodes from super_block to backing_dev_info Jens Axboe
2009-05-18 12:19 ` [PATCH 02/11] writeback: switch to per-bdi threads for flushing data Jens Axboe
2009-05-19 10:20 ` Richard Kennedy
2009-05-19 12:23 ` Jens Axboe
2009-05-19 13:45 ` Richard Kennedy
2009-05-19 17:56 ` Jens Axboe
2009-05-19 22:11 ` Peter Zijlstra
2009-05-20 11:18 ` Jan Kara
2009-05-20 11:32 ` Jens Axboe
2009-05-20 12:11 ` Jan Kara
2009-05-20 12:16 ` Jens Axboe
2009-05-20 12:24 ` Christoph Hellwig
2009-05-20 12:48 ` Jens Axboe
2009-05-20 12:37 ` Christoph Hellwig
2009-05-20 12:49 ` Jens Axboe
2009-05-20 14:02 ` Anton Altaparmakov
2009-05-18 12:19 ` [PATCH 03/11] writeback: get rid of pdflush completely Jens Axboe
2009-05-18 12:19 ` [PATCH 04/11] writeback: separate the flushing state/task from the bdi Jens Axboe
2009-05-20 11:34 ` Jan Kara
2009-05-20 11:39 ` Jens Axboe
2009-05-20 12:06 ` Jan Kara
2009-05-20 12:09 ` Jens Axboe
2009-05-18 12:19 ` [PATCH 05/11] writeback: support > 1 flusher thread per bdi Jens Axboe
2009-05-18 12:19 ` [PATCH 06/11] writeback: include default_backing_dev_info in writeback Jens Axboe
2009-05-18 12:19 ` [PATCH 07/11] writeback: allow sleepy exit of default writeback task Jens Axboe
2009-05-18 12:19 ` [PATCH 08/11] writeback: btrfs must register its backing_devices Jens Axboe
2009-05-18 12:19 ` [PATCH 09/11] writeback: add some debug inode list counters to bdi stats Jens Axboe
2009-05-18 12:19 ` [PATCH 10/11] writeback: add name to backing_dev_info Jens Axboe
2009-05-18 12:19 ` [PATCH 11/11] writeback: check for registered bdi in flusher add and inode dirty Jens Axboe
2009-05-19 6:11 ` Zhang, Yanmin [this message]
2009-05-19 6:20 ` [PATCH 0/11] Per-bdi writeback flusher threads #4 Jens Axboe
2009-05-19 6:43 ` Zhang, Yanmin
2009-05-20 7:51 ` Zhang, Yanmin
2009-05-20 8:09 ` Jens Axboe
2009-05-20 8:54 ` Jens Axboe
2009-05-20 9:19 ` Zhang, Yanmin
2009-05-20 9:25 ` Jens Axboe
2009-05-20 11:19 ` Jens Axboe
2009-05-21 6:33 ` Zhang, Yanmin
2009-05-21 9:10 ` Jan Kara
2009-05-22 1:28 ` Zhang, Yanmin
2009-05-22 8:15 ` Jens Axboe
2009-05-22 20:44 ` Jens Axboe
2009-05-23 19:15 ` Jens Axboe
2009-05-25 8:02 ` Zhang, Yanmin
2009-05-25 8:06 ` Jens Axboe
2009-05-25 8:43 ` Zhang, Yanmin
2009-05-25 8:48 ` Jens Axboe
2009-05-25 8:54 ` Zhang, Yanmin
2009-05-22 7:53 ` Jens Axboe
2009-05-22 7:53 ` Jens Axboe
2009-05-25 15:57 ` Richard Kennedy
2009-05-25 17:05 ` Jens Axboe
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=1242713463.2560.5.camel@ymzhang \
--to=yanmin_zhang@linux.intel.com \
--cc=akpm@linux-foundation.org \
--cc=chris.mason@oracle.com \
--cc=david@fromorbit.com \
--cc=hch@infradead.org \
--cc=jack@suse.cz \
--cc=jens.axboe@oracle.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).