lkml.org 
[lkml]   [2012]   [Mar]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH -mm] do_migrate_pages() calls migrate_to_node() even if task is already on a correct node
    On 03/22/2012 02:45 PM, KOSAKI Motohiro wrote:
    > CC to Christoph.
    >
    >> While moving tasks between cpusets I noticed some strange behavior.
    >> Specifically if the nodes of the destination
    >> cpuset are a subset of the nodes of the source cpuset
    >> do_migrate_pages() will move pages that are already on a node
    >> in the destination cpuset. The reason for this is do_migrate_pages()
    >> does not check whether each node in the source
    >> nodemask is in the destination nodemask before calling
    >> migrate_to_node(). If we simply do this check and skip them
    >> when the source is in the destination moving we wont move nodes that
    >> dont need to be moved.
    >>
    >> Adding a little debug printk to migrate_to_node():
    >>
    >> Without this change migrating tasks from a cpuset containing nodes 0-7
    >> to a cpuset containing nodes 3-4, we migrate
    >> from ALL the nodes even if they are in the both the source and
    >> destination nodesets:
    >>
    >> Migrating 7 to 4
    >> Migrating 6 to 3
    >> Migrating 5 to 4
    >> Migrating 4 to 3
    >> Migrating 1 to 4
    >> Migrating 3 to 4
    >> Migrating 0 to 3
    >> Migrating 2 to 3
    >
    > Wait.
    >
    > This may be non-optimal for cpusets, but maybe optimal migrate_pages,
    > especially
    > the usecase is HPC. I guess this is intended behavior. I think we need
    > to hear
    > Christoph's intention.

    How is the moving of pages that are already in the
    intended cpuset better than just leaving them alone?

    > But, I'm not against this if he has no objection.

    Sure. Christoph?


    \
     
     \ /
      Last update: 2012-03-22 19:51    [W:0.024 / U:0.244 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site