summaryrefslogtreecommitdiff
path: root/user/kam.mdwn
blob: da820f620fe69f4138a1b5bd4327777e9bee13a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]

[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts.  A copy of the license
is included in the section entitled
[[GNU Free Documentation License|/fdl]]."]]"""]]

[[!meta title="Karim Allah Ahmed"]]

<karim.allah.ahmed@gmail.com>

Egypt.

---

#GSoC: 2010 Project
Goal:

---
#Roadmap

##Progress

###Preparation Phase:

Understanding how gnumach ticks [ at least the parts related to the project ]

---

####28th of April - 5th of May:

* Reading the paging in code in gnumach.
* Reading the libpager code, and the multipage patch.
* Reading the translators code, only the part implementing the external pager interface.

####5th of May - 12th of May:

* Reading the paging out code in gnumach.
* Understanding IPC in gnumach and reading some code.
* Reading "[gnu_src]/kern/sched_prim.c"

####12th of May - 19th of May:

* Finishing the leftover code in some of the previous phases.
* Building a big and a more clear picture of how gnumach ticks [ wiring things together ].

####19th of May - 23th of May:

* Off [College related-activities].

---

###Coding Phase:


####24th of May - 26th of May:

* Read the freeBSD multipages implementation.
* Basic Modifications of gnumach's code.
* err.. scratch this step. It's easier to work on porting OSF Mach's implementation of multi-pages.

####26th of May - 28th of May:

* port OSF Mach's clustered pagein during 'page faults' ( [src]/vm/vm_fault.c )
* port "cluster_size" attribute of memory objects from OSF Mach.
* port "behavior" attribute of vm_map entries from OSF Mach.

####29th of May - 2nd of June:

* Off ( Oral Exams )

---

####2nd of May - 4th of June:

* Finish the port of the previous phase.

---

####5th of June - 11th of June:

* Modify the API of the libpager to support multipages.

---

####12th of June - 26th of June:

* Modify the of the translators code to implement the new libpager interface.

---

####27th of June - 30th of June:

* port OSF Mach's clustered pageout ( [src]/vm/vm_pageout.c )

---

####1st of July - 4th of July:

* Fix the bootmem_allocator patch along with my proposal.

---

### Testing Phase:

---

### Exams Schedule:

#### Final exams :

Starts at 12th of June for two weeks [maybe 2 or 3 days longer than this , not sure]