lkml.org 
[lkml]   [2009]   [May]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH 0/11] Per-bdi writeback flusher threads #4
    From
    Date
    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.




    \
     
     \ /
      Last update: 2009-05-19 08:15    [W:0.036 / U:0.032 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site