On 3/7/11, Jens Axboe <axboe@xxxxxxxxx> wrote: > On 2011-03-07 12:25, Sedat Dilek wrote: >> On 3/7/11, Jens Axboe <axboe@xxxxxxxxx> wrote: >>> On 2011-03-07 12:14, Sedat Dilek wrote: >>>> On 3/7/11, Tejun Heo <tj@xxxxxxxxxx> wrote: >>>>> On Mon, Mar 07, 2011 at 11:41:23AM +0100, Sedat Dilek wrote: >>>>>> $ git log -1 | cat >>>>>> commit c45165cd2c77843f24ca18af54044303dc2a81ab >>>>>> Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> >>>>>> Date: Mon Mar 7 17:38:41 2011 +1100 >>>>>> >>>>>> Add linux-next specific files for 20110307 >>>>>> >>>>>> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> >>>>>> >>>>>> $ git pull >>>>>> git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-2.6-block.git >>>>>> for-next >>>>>> remote: Counting objects: 158, done. >>>>>> remote: Compressing objects: 100% (89/89), done. >>>>>> remote: Total 106 (delta 87), reused 21 (delta 17) >>>>>> Receiving objects: 100% (106/106), 23.33 KiB, done. >>>>>> Resolving deltas: 100% (87/87), completed with 34 local objects. >>>>>> From >>>>>> git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-2.6-block >>>>>> * branch for-next -> FETCH_HEAD >>>>>> warning: too many files (created: 1120 deleted: 637), skipping inexact >>>>>> rename detection >>>>>> warning: too many files (created: 974 deleted: 462), skipping inexact >>>>>> rename detection >>>>>> Auto-merging block/blk-core.c >>>>>> Auto-merging block/blk-flush.c >>>>>> CONFLICT (content): Merge conflict in block/blk-flush.c >>>>>> Auto-merging block/cfq-iosched.c >>>>>> CONFLICT (content): Merge conflict in block/cfq-iosched.c >>>>>> Automatic merge failed; fix conflicts and then commit the result. >>>>> >>>>> Ummm... don't those conflicts come from Stephen's commits? You would >>>>> need to revert the merge and fixup commits and then pull in the block >>>>> branch. >>>>> >>>>> Thanks. >>>>> >>>>> -- >>>>> tejun >>>>> >>>> >>>> I have reverted the merge-fix from Stephen "[PATCH] block: update for >>>> __blk_run_queue() API update" which changed block/blk-flush.c, this >>>> remains: >>>> ... >>>> CONFLICT (content): Merge conflict in block/cfq-iosched.c >>>> >>>> As it is 12p.m. and sun shining, my decision and direction is clear: >>>> Lunch + City. >>> >>> Just checked here, I can pull my for-next cleanly into Linus' master. >>> What is the block tree for-next branch sha? >>> >>> -- >>> Jens Axboe >>> >>> >> >> No, I tried to merge your for-next into linux-next (which will happen >> with tomorrows linux-next). >> >> [ linux-2.6-block.git#for-next ] >> commit b873c5d692d4d5453cceed18bb06c62bb1a73ac0 >> "Merge branch 'block-for-2.6.39-core' of >> ssh:///linux/kernel/git/tj/misc into for-2.6.39/core" > > linux-next should not have any CFQ changes that don't come from for-next > from the linux block tree. Are you pulling it into a linux-next that > already have some of the block changes? > > -- > Jens Axboe > > I have reverted the manual merge-fix from Stephen as pointed out by Tejun. As tig (utility) is broken with ncurses-5.8 in Debian/sid I currently can't look through the commits. So, I can't say if there were further modifications by merging block stuff into linux-next. I have added the last 5 commits to block/cfq-iosched.c as TXT. - Sedat -
commit feceaadd75c035ad2999b91266c4f3cd3c928d7d Merge: 0c54ad0 763414b Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Mon Mar 7 13:19:47 2011 +1100 Merge remote-tracking branch 'block/for-next' Conflicts: block/blk-flush.c commit 1654e7411a1ad4999fe7890ef51d2a2bbb1fcf76 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Mar 2 08:48:05 2011 -0500 block: add @force_kblockd to __blk_run_queue() __blk_run_queue() automatically either calls q->request_fn() directly or schedules kblockd depending on whether the function is recursed. blk-flush implementation needs to be able to explicitly choose kblockd. Add @force_kblockd. All the current users are converted to specify %false for the parameter and this patch doesn't introduce any behavior change. stable: This is prerequisite for fixing ide oops caused by the new blk-flush implementation. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Jan Beulich <JBeulich@xxxxxxxxxx> Cc: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxx Signed-off-by: Jens Axboe <jaxboe@xxxxxxxxxxxx> commit 763414b132ab9d6f8e23657a87cc1dc823d1e34e Merge: 6148a47 c186794 Author: Jens Axboe <jaxboe@xxxxxxxxxxxx> Date: Fri Feb 11 11:11:29 2011 +0100 Merge branch 'for-2.6.39/core' into for-next Conflicts: block/cfq-iosched.c Signed-off-by: Jens Axboe <jaxboe@xxxxxxxxxxxx> commit c186794dbb466b45cf40f942f2d09d6d5b4b0e42 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Fri Feb 11 11:08:00 2011 +0100 block: share request flush fields with elevator_private Flush requests are never put on the IO scheduler. Convert request structure's elevator_private* into an array and have the flush fields share a union with it. Reclaim the space lost in 'struct request' by moving 'completion_data' back in the union with 'rb_node'. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <jaxboe@xxxxxxxxxxxx> commit 02a8f01b5a9f396d0327977af4c232d0f94c45fd Author: Justin TerAvest <teravest@xxxxxxxxxx> Date: Wed Feb 9 14:20:03 2011 +0100 cfq-iosched: Don't wait if queue already has requests. Commit 7667aa0630407bc07dc38dcc79d29cc0a65553c1 added logic to wait for the last queue of the group to become busy (have at least one request), so that the group does not lose out for not being continuously backlogged. The commit did not check for the condition that the last queue already has some requests. As a result, if the queue already has requests, wait_busy is set. Later on, cfq_select_queue() checks the flag, and decides that since the queue has a request now and wait_busy is set, the queue is expired. This results in early expiration of the queue. This patch fixes the problem by adding a check to see if queue already has requests. If it does, wait_busy is not set. As a result, time slices do not expire early. The queues with more than one request are usually buffered writers. Testing shows improvement in isolation between buffered writers. Cc: stable@xxxxxxxxxx Signed-off-by: Justin TerAvest <teravest@xxxxxxxxxx> Reviewed-by: Gui Jianfeng <guijianfeng@xxxxxxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <jaxboe@xxxxxxxxxxxx>