Skip to content

Commit

Permalink
147th-1
Browse files Browse the repository at this point in the history
  • Loading branch information
iamroot12a committed Feb 12, 2018
1 parent e5d0d9a commit ea882eb
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 4 deletions.
14 changes: 12 additions & 2 deletions kernel/fork.c
Original file line number Diff line number Diff line change
Expand Up @@ -536,6 +536,11 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
rb_parent = &tmp->vm_rb;

mm->map_count++;

/* IAMROOT-12A:
* ------------
* 여기에서 부모가 사용하는 페이지 테이블 엔트리를 복사한다.
*/
retval = copy_page_range(mm, oldmm, mpnt);

if (tmp->vm_ops && tmp->vm_ops->open)
Expand Down Expand Up @@ -957,6 +962,10 @@ static struct mm_struct *dup_mm(struct task_struct *tsk)

dup_mm_exe_file(oldmm, mm);

/* IAMROOT-12A:
* ------------
* 부모 태스크의 vma 정보와 페이지 테이블 엔트리들을 복사한다.
*/
err = dup_mmap(mm, oldmm);
if (err)
goto free_pt;
Expand Down Expand Up @@ -1037,7 +1046,7 @@ static int copy_mm(unsigned long clone_flags, struct task_struct *tsk)
* -------------
* fork & clone (프로세스) 생성 시 mm을 준비한다.
* - 부모 vm을 그대로 복제한다. (vma 엔트리들 정보)
* - pgd 엔트리들은 새로 할당 받고 모두 null 엔트리
* - pgd 엔트리들은 새로 할당 받고 부모 페이지 테이블을 모두 복사
*/
retval = -ENOMEM;
mm = dup_mm(tsk);
Expand Down Expand Up @@ -1626,7 +1635,8 @@ static struct task_struct *copy_process(unsigned long clone_flags,
* 커널스레드는 아무일도 하지 않는다.
* pthread와 vfork는 mm을 만들지 않고 부모의 mm을 공유한다.
* 유저 프로세스(fork & clone) 생성 시에는 자신의 vm을 만들되 부모의 mm 정보를
* 상속받아 사용한다. 이 때 pgd는 null 엔트리들로 시작한다. (fault 후 COW 동작)
* 상속받아 사용한다. 이 때 pgd도 부모 페이지 테이블 엔트리들을 복사하여 사용한다.
* (fault 후 COW 동작)
*/
retval = copy_mm(clone_flags, p);
if (retval)
Expand Down
3 changes: 1 addition & 2 deletions mm/mempolicy.c
Original file line number Diff line number Diff line change
Expand Up @@ -152,8 +152,7 @@ struct mempolicy *get_task_policy(struct task_struct *p)

/* IAMROOT-12:
* -------------
static* cpu에 노드id가 부여되지 않는 케이스도 있나???
* cpu에 노드id가 부여되지 않는 케이스도 있나???
*/
if (node != NUMA_NO_NODE) {
pol = &preferred_node_policy[node];
Expand Down

0 comments on commit ea882eb

Please sign in to comment.