On Thu, Jul 12, 2007 at 09:39:45PM +0200, Christophe DONZELOT wrote: > Le support highmem est activé pour prendre en charge les 8 Go de RAM
Autre piste pour la place perdue (à mon avis largement moins probable) Normalement, le support `highmem' active aussi 2-3 trucs bizarres comme p.ex. le fait que la mémoire `haute' (argh! MS-DOS is back) ne peut être utilisée pour le DMA. Une technique communément employée est les `bounce buffers', qui consiste à faire des I/O en adressage 32 bits puis de copier les données dans l'espace processus concerné (avec une perte de performance, mais négligeable par rapport à l'avantage d'avoir plus de mémoire). Donc plus de mémoire peut signifier plus de place prise par les `bounce buffers', et moins de performance. Je ne sais pas si c'est toujours la même technique qui est employée en 2.6; par contre, il me semble évident qu'en PCI-32 bits, l'adressage est effectivement limité. Et contrairement à d'autres architectures, le PC n'a jamais mis de TLB/MMU du côté I/O. Cet article explique qu'en 2.6 il n'y a plus de bounce buffers pour les périphériques qui peuvent adresser toute la mémoire; mais symétriquement j'ai trouvé des références de pilotes (p.ex. ATA) qui les utilisent encore ... http://www.linuxjournal.com/article/6530 malgré tout, 2 GB d'un coup me semblerait un peu énorme (surtout que les bounce buffers doivent être sous 1 GB), donc la piste du buffer cache / ventry-inode cache me semble plus logique PS: sauf erreur, le support `bigmem' est autre chose que le support `highmem': bigmem permet de faire des allocations atomiques de taille élevée en 2.4 _______________________________________________ gull mailing list gull@lists.alphanet.ch http://lists.alphanet.ch/mailman/listinfo/gull