From f8d0a635dc44ad5c0f375f45939ce418acaa0a49 Mon Sep 17 00:00:00 2001 From: mcsim Date: Mon, 14 May 2012 20:04:50 +0200 Subject: --- user/Maksym_Planeta.mdwn | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'user') diff --git a/user/Maksym_Planeta.mdwn b/user/Maksym_Planeta.mdwn index a0a9c788..e31ee2b7 100644 --- a/user/Maksym_Planeta.mdwn +++ b/user/Maksym_Planeta.mdwn @@ -9,10 +9,18 @@ is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] [[!toc]] +#GSoC 2012 - Disk I/O Performance Tuning + +14.05.12 + +First of all I'm going to do 2 programs. First will work as server, it will create an object and share it with second. Second will try to access to this object. This will cause page fault and kernel will refer to first program (server). This way I will be able to track how page faults are resolved and this will help me in debugging of readahead. IFR: server probably can use some of hurd's libraries, but it has to handle m_o_* RPC's on it's own. TODO: Find out how supply second program (client) with new object. NB: be sure that client will cause page fault, so that server always will be called (probably any caching should be disabled). + #Notes on tmpfs ## Current state +Finished + 26.01.12 Infinite fsx on ext2fs: -- cgit v1.2.3 From beecfd5440c11d8003ec96c55fc0a1830731082e Mon Sep 17 00:00:00 2001 From: mcsim Date: Fri, 8 Jun 2012 10:25:08 +0200 Subject: --- user/Maksym_Planeta.mdwn | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'user') diff --git a/user/Maksym_Planeta.mdwn b/user/Maksym_Planeta.mdwn index e31ee2b7..c2696632 100644 --- a/user/Maksym_Planeta.mdwn +++ b/user/Maksym_Planeta.mdwn @@ -11,6 +11,10 @@ License|/fdl]]."]]"""]] [[!toc]] #GSoC 2012 - Disk I/O Performance Tuning +8.06.12 + +Applied Neal's patch that reworks libpager, changed libdiskfs, tmpfs and ext2fs according to new interface. ext2fs isn't finished yet and should be reworked, but looks like I brought some bug to existing implementation and i want first to fix it and than finish rest of ext2fs. Also I pushed some code changes to hurd git repository into my branch mplaneta/gsoc12/working. Now I start working on gnumach implementation of clustered page reading. After this I'm going to implement madvise, than finish ext2fs and start porting of other translators. + 14.05.12 First of all I'm going to do 2 programs. First will work as server, it will create an object and share it with second. Second will try to access to this object. This will cause page fault and kernel will refer to first program (server). This way I will be able to track how page faults are resolved and this will help me in debugging of readahead. IFR: server probably can use some of hurd's libraries, but it has to handle m_o_* RPC's on it's own. TODO: Find out how supply second program (client) with new object. NB: be sure that client will cause page fault, so that server always will be called (probably any caching should be disabled). -- cgit v1.2.3 From 70296d584c1730785c511baef6edf18c8d0f4fbc Mon Sep 17 00:00:00 2001 From: mcsim Date: Fri, 15 Jun 2012 16:10:32 +0200 Subject: --- user/Maksym_Planeta.mdwn | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'user') diff --git a/user/Maksym_Planeta.mdwn b/user/Maksym_Planeta.mdwn index c2696632..91f3cc6a 100644 --- a/user/Maksym_Planeta.mdwn +++ b/user/Maksym_Planeta.mdwn @@ -11,6 +11,10 @@ License|/fdl]]."]]"""]] [[!toc]] #GSoC 2012 - Disk I/O Performance Tuning +15.06.12 + +Explored gnumach code. First I was reimplementing vm_fault_page as coroutine that returns before executing of mo_data_{unlock,request} calls to vm_fault. vm_fault had to analyse state of vm_fault_page for every page in loop and make a decision regarding further behavior (call mo_data_*, go to next page, etc.). But than I've got that this way is much worse, than doing everything in vm_fault_page (like in OSF mach), so I made a back-off and started working on clustered paging from the beginning (at least now I see clearer how things should be). + 8.06.12 Applied Neal's patch that reworks libpager, changed libdiskfs, tmpfs and ext2fs according to new interface. ext2fs isn't finished yet and should be reworked, but looks like I brought some bug to existing implementation and i want first to fix it and than finish rest of ext2fs. Also I pushed some code changes to hurd git repository into my branch mplaneta/gsoc12/working. Now I start working on gnumach implementation of clustered page reading. After this I'm going to implement madvise, than finish ext2fs and start porting of other translators. -- cgit v1.2.3 From bdb5476b45b43e1753514fe28d1be9436dd572bd Mon Sep 17 00:00:00 2001 From: mcsim Date: Fri, 15 Jun 2012 16:27:10 +0200 Subject: --- user/Maksym_Planeta.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'user') diff --git a/user/Maksym_Planeta.mdwn b/user/Maksym_Planeta.mdwn index 91f3cc6a..fccf3840 100644 --- a/user/Maksym_Planeta.mdwn +++ b/user/Maksym_Planeta.mdwn @@ -13,7 +13,7 @@ License|/fdl]]."]]"""]] 15.06.12 -Explored gnumach code. First I was reimplementing vm_fault_page as coroutine that returns before executing of mo_data_{unlock,request} calls to vm_fault. vm_fault had to analyse state of vm_fault_page for every page in loop and make a decision regarding further behavior (call mo_data_*, go to next page, etc.). But than I've got that this way is much worse, than doing everything in vm_fault_page (like in OSF mach), so I made a back-off and started working on clustered paging from the beginning (at least now I see clearer how things should be). +Explored gnumach code. First I was reimplementing vm_fault_page as coroutine that returns before executing of mo_data_{unlock,request} calls to vm_fault. vm_fault had to analyse state of vm_fault_page for every page in loop and make a decision regarding further behavior (call mo_data_*, go to next page, etc.). But than I've got that this way is much worse, than doing everything in vm_fault_page (like in OSF mach), so I made a back-off and started working on clustered paging from the beginning (at least now I see clearer how things should be). At the moment I review kam's patch one more time and looked through mklinux code attentively. 8.06.12 -- cgit v1.2.3