lkml.org 
[lkml]   [2011]   [Mar]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: linux-next: manual merge of the block tree with Linus' tree
From
On 3/7/11, Jens Axboe <axboe@kernel.dk> wrote:
> On 2011-03-07 12:25, Sedat Dilek wrote:
>> On 3/7/11, Jens Axboe <axboe@kernel.dk> wrote:
>>> On 2011-03-07 12:14, Sedat Dilek wrote:
>>>> On 3/7/11, Tejun Heo <tj@kernel.org> wrote:
>>>>> On Mon, Mar 07, 2011 at 11:41:23AM +0100, Sedat Dilek wrote:
>>>>>> $ git log -1 | cat
>>>>>> commit c45165cd2c77843f24ca18af54044303dc2a81ab
>>>>>> Author: Stephen Rothwell <sfr@canb.auug.org.au>
>>>>>> Date: Mon Mar 7 17:38:41 2011 +1100
>>>>>>
>>>>>> Add linux-next specific files for 20110307
>>>>>>
>>>>>> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
>>>>>>
>>>>>> $ 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@canb.auug.org.au>
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@kernel.org>
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@kernel.org>
Cc: Jan Beulich <JBeulich@novell.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: stable@kernel.org
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>

commit 763414b132ab9d6f8e23657a87cc1dc823d1e34e
Merge: 6148a47 c186794
Author: Jens Axboe <jaxboe@fusionio.com>
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@fusionio.com>

commit c186794dbb466b45cf40f942f2d09d6d5b4b0e42
Author: Mike Snitzer <snitzer@redhat.com>
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@redhat.com>
Acked-by: Vivek Goyal <vgoyal@redhat.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>

commit 02a8f01b5a9f396d0327977af4c232d0f94c45fd
Author: Justin TerAvest <teravest@google.com>
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@kernel.org
Signed-off-by: Justin TerAvest <teravest@google.com>
Reviewed-by: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
Acked-by: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
\
 
 \ /
  Last update: 2011-03-07 12:37    [W:0.238 / U:0.052 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site