VM: Where do we stand?
I'm sure at least some of you will immediately recognize these words:
Quoted 6 lines
Swap allocation is terrible. Linux uses a linear array which it scans looking for a free swap block. It does a relatively simple swap cluster cache, but eats the full linear scan if that fails which can be terribly nasty. The swap clustering algorithm is a piece of crap, too -- once swap becomes fragmented, the linux swapper falls on its
face.
Quoted 17 lines
It does read-ahead based on the swapblk which wouldn't be bad if it clustered writes by object or didn't have a fragmentation problem. As it stands, their read clustering is useless. Swap deallocation is fast since they are using a simple reference count array.
File read-ahead is half-hazard at best.
The paging queues ( determing the age of the page and whether to free or clean it) need to be written... the algorithms being used are terrible.
* For the nominal page scan, it is using a one-hand clock algorithm. All I can say is: Oh my god! Are they nuts? That was abandoned a decade ago. The priority mechanism they've implemented is nearly useless.
Quoted 8 lines
* To locate pages to swap out, it takes a pass through the task list. Ostensibly it locates the task with the largest RSS to then try to swap pages out from rather then select pages that are not in use. From my read of the code, it also botches this badly.
Linux does not appear to do any page coloring whatsoever, but it would not be hard to add it in.
Where does Linux stand, three years on? An O(1) scheduler is
nice, but I tell you what'd be even nicer...
coming out for some food, (it's dark out)
Duraid
Quoted 8 lines · Duraid Madina
I'm sure at least some of you will immediately recognize these words:
Quoted 6 lines
Swap allocation is terrible. Linux uses a linear array which it scans looking for a free swap block. It does a relatively simple swap cluster cache, but eats the full linear scan if that fails which can be terribly nasty. The swap clustering algorithm is a piece of crap, too -- once swap becomes fragmented, the linux swapper falls on its face.
Agreed, scanning for a swap block can take too much CPU on large machines. We've seen this happen ...
Quoted 4 lines
Quoted 4 lines
It does read-ahead based on the swapblk which wouldn't be bad if it clustered writes by object or didn't have a fragmentation problem. As it stands, their read clustering is useless. Swap deallocation is fast since they are using a simple reference count array.
Swap readahead improvements very much welcome.
Quoted 1 line
Quoted 1 line
File read-ahead is half-hazard at best.
How so? File read-ahead seems to work pretty well.
Quoted 3 lines
Quoted 3 lines
The paging queues ( determing the age of the page and whether to free or clean it) need to be written... the algorithms being used are terrible.
Fixed in -rmap, http://surriel.com/patches/
Quoted 2 lines
Quoted 2 lines
Linux does not appear to do any page coloring whatsoever, but it would not be hard to add it in.
Not sure how page colouring would interact with the buddy allocator, though ;)
Quoted 2 lines
Where does Linux stand, three years on? An O(1) scheduler is
nice, but I tell you what'd be even nicer...
I'm working on some of the above issues for the -rmap VM; if there's something else which really bugs you, I accept patches ;)
cheers,
Rik
Signature · 4 lines
"Linux holds advantages over the single-vendor commercial OS"
-- Microsoft's "Competing with Linux" document
http://www.surriel.com/ http://distro.conectiva.com/Quoted 7 lines · Duraid Madina
Quoted 7 lines
The paging queues ( determing the age of the page and whether to free or clean it) need to be written... the algorithms being used are terrible.
* For the nominal page scan, it is using a one-hand clock algorithm. All I can say is: Oh my god! Are they nuts? That was abandoned a decade ago.
We don't use a one-hand clock now, we use an lru list coupled with a virtual scan which sucks slightly less, but only slightly.
Quoted 2 lines
Quoted 2 lines
The priority mechanism they've implemented is nearly
useless.
There's a new priority mechanism now ;-)
Quoted 4 lines
Quoted 4 lines
* To locate pages to swap out, it takes a pass through the task list. Ostensibly it locates the task with the largest RSS to then try to swap pages out from rather then select pages that are not in use. From my read of the code, it also botches this badly.
It now tries to select pages that are not in use.
--
Daniel
Quoted 1 line · Duraid Madina
I'm sure at least some of you will immediately recognize these words:
This paper is _two_ years old. What is this? Linux 2.4pre? 2.2?
(<[email protected]> for the googlelites).
Regards
Henning
Signature · 5 lines
Dipl.-Inf. (Univ.) Henning P. Schmiedehausen -- Geschaeftsfuehrer INTERMETA - Gesellschaft fuer Mehrwertdienste mbH [email protected] Am Schwabachgrund 22 Fon.: 09131 / 50654-0 [email protected] D-91054 Buckenhof Fax.: 09131 / 50654-20
Quoted 7 lines · Henning P. Schmiedehausen
Quoted 1 line · Duraid Madina
I'm sure at least some of you will immediately recognize these words:
This paper is _two_ years old. What is this? Linux 2.4pre? 2.2?
(<[email protected]> for the googlelites).
Doesn't mean it's no longer valid, though.
regards,
Rik
Signature · 4 lines
"Linux holds advantages over the single-vendor commercial OS"
-- Microsoft's "Competing with Linux" document
http://www.surriel.com/ http://distro.conectiva.com/