@ ZeroG
tl;dr
Kein Programm muß explizit "Swap verwenden", solange es AllocVecTags() verwendet.
-Dozentenmodus an-
Es kommt dabei darauf an, welche Art von Speicher man alloziert, insbesondere, ob dieser gelockt ist. Standardmäßig gibt AllocVecTags() MEMF_PRIVATE zurück, was AVT_Lock == FALSE impliziert. Solcher Speicher kann ausgelagert werden. MEMF_SHARED und MEMF_EXECUTABLE Speicher implizieren dagegen AVT_Lock == TRUE, diese sind also garantiert immer am gleichen Platz verfügbar und werden niemals ausgelagert oder anderweitig verschoben.
Das Problem bei vieler Software ist nun, daß sie entweder zu alt für AllocVecTags() ist - dann wird in der Regel AllocVec()/AllocMem() mit MEMF_ANY oder MEMF_PUBLIC benutzt, was ebenfalls nicht auslagerungsfähiger Speicher sein kann bzw. ist - oder das Speichermanagement über POSIX-Aufrufe der C-Bibliotheken gemacht wird.
Bei Odyssey trifft mit 99,99% Wahrscheinlichkeit Letzteres zu, denn praktisch alles, bis auf die Oberfläche, stammt ja von Linux, BSD, etc. und benutzt daher POSIX, sprich malloc(), free(), etc.
Diese POSIX-Funktionen haben keine Ahnung von den unterschiedlichen Speichertypen in AmigaOS, also benutzen die Implementierungen immer MEMF_SHARED oder MEMF_PUBLIC, je nachdem, ob sie schon AllocVecTags() kennen oder nicht. Sie müssen ja garantieren, daß der angeforderte Speicher in jeder Situation auch verfügbar bleibt, da sie nicht wissen können, wofür er benutzt wird.
Und so wird verfügbarer Auslagerungsspeicher, egal ob auf Platte oder als Zorrokarte, nur dann benutzt, wenn Speicher als MEMF_PRIVATE mit AllocVecTags() alloziert wird. Und auch nur dafür. Alle anderen Speichersorten werden und können nicht ausgelagert werden.
Das ist ein echtes Problem, das Auslagerungsspeicher unter AmigaOS kaum von Nutzen sein läßt. Ohne einen harten API-Schnitt oder konsequentes Sandboxing jedes einzelnen Programms wird man das aber nicht in den Griff bekommen können.
Es gibt noch weitere Probleme mit dem Paging, auf die ich jetzt nicht extra noch eingehen werde, aber meine Empfehlung ist in dieser Frage tatsächlich: Finger weg von Swap und Paging, wenn es irgendwie geht.
Steckt Euch, wenn möglich, mehr richtigen Speicher rein. Bei NG sollte das bis auf Sam440 und MicroA1 kein unüberwindbares Hindernis sein und bei den Classics empfehle ich tatsächlich sowas, wie die BigRAM+ mit der NORAMPAGER Kerneloption als Z3-Speicher zu benutzen. Ist zwar wegen Zorro relativ lahm, aber immerhin laufen dann auch speicherhungrige Programme und als Swap wäre es eh auch nicht schneller.
P.S: Nein, mehr als 2GB ergeben auch bei NG-Kisten für AmigaOS absolut keinen Sinn. Mehr sollte man nur dann reinstopfen, wenn man so oft andere Systeme (z.B. Linux) auf der Kiste benutzt, daß es sich auch wirklich lohnt. Oft handelt man sich mit mehr Speicher sogar auch Probleme ein, wenn die Firmware damit nicht gut genug umgeht.
-Dozentenmodus aus-