Re: What is migrate memory pages?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



thank you mulyadi,

i was looking for further insight, and from the stack trace, found
this function - cpuset_migrate_mm()'s comment here:

/*
 * cpuset_migrate_mm
 *
 *    Migrate memory region from one set of nodes to another.
 *
 *    Temporarilly set tasks mems_allowed to target nodes of migration,
 *    so that the migration code can allocate pages on these nodes.
 *
 *    Call holding cgroup_mutex, so current's cpuset won't change
 *    during this call, as manage_mutex holds off any cpuset_attach()
 *    calls.  Therefore we don't need to take task_lock around the
 *    call to guarantee_online_mems(), as we know no one is changing
 *    our task's cpuset.
 *
 *    Hold callback_mutex around the two modifications of our tasks
 *    mems_allowed to synchronize with cpuset_mems_allowed().
 *
 *    While the mm_struct we are migrating is typically from some
 *    other task, the task_struct mems_allowed that we are hacking
 *    is for our current task, which must allocate new pages for that
 *    migrating memory region.
 *
 *    We call cpuset_update_task_memory_state() before hacking
 *    our tasks mems_allowed, so that we are assured of being in
 *    sync with our tasks cpuset, and in particular, callbacks to
 *    cpuset_update_task_memory_state() from nested page allocations
 *    won't see any mismatch of our cpuset and task mems_generation
 *    values, so won't overwrite our hacked tasks mems_allowed
 *    nodemask.
 */

So migration is from node to node.   thanks.

On Wed, Jun 18, 2008 at 10:57 AM, Mulyadi Santosa
<mulyadi.santosa@xxxxxxxxx> wrote:
> Hi...
>
> On Tue, Jun 17, 2008 at 9:51 PM, Peter Teoh <htmldeveloper@xxxxxxxxx> wrote:
>> I am interested in this:
>>
>> why do u do page migration?
>
> AFAIK, (i also study about it briefly during reading about
> ZONE_MOVEABLE), it happens mostly in NUMA with hot pluggable memory
> capability. Think when you want to unplug certain memory chip...you
> have to "migrate" the page, right? Migrate here, IMHO means:
> a. copying the page's content somewhere
> b. fixing the PTE so that it points to the new page that hold the
> copied data while maintaining consistent virtual address
>
> regards,
>
> Mulyadi.
>



-- 
Regards,
Peter Teoh

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux