From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Wed, 8 Dec 1999 18:54:41 +0100 (CET) From: Andrea Arcangeli Subject: Re: sizeof(struct page) from 44 to 32 bytes for 32-bit <256MB In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-linux-mm@kvack.org Return-Path: To: Malcolm Beattie Cc: linux-mm@kvack.org List-ID: On Wed, 8 Dec 1999, Malcolm Beattie wrote: >too). That means that a lot of uses of struct page only use a single >cache line per touched struct page instead of two. Using two cachelines could produce better performances depending on the layout and on the usage of the entries in the struct. So it's not enough to tell that it takes only on cacheline to say that it will be faster. >The idea is to replace the various struct page pointers (4 bytes) with >a 2 byte page frame number which can then cope with 64K x 4K = 256MB >physical RAM. The relevant pointers are the struct page * fields (two IMHO it will decrease too much performacnes. Both ->list and ->lru are very hot piece of code. When you shrink the cache you want to delete pages from the page-LRU ASAP and you don't want to spend time in (pfn<then optimize for other architectures too. For example, Alpha and >sparc64 could use a 32-bit pfn instead of a 64-bit pointer in all >those places which would again save cacheline space. Avoiding the (pfn<