4K pages probably used to be too large

By: wumpus (wumpus.delete@this.lost.in.a.hole), May 5, 2021 9:06 am
Room: Moderated Discussions
anon2 (anon.delete@this.anon.com) on May 3, 2021 1:17 am wrote:
> Ben LaHaise (bcrl.delete@this.kvack.org) on May 2, 2021 10:45 am wrote:
> > Yuhong Bao (yuhongbao_386.delete@this.hotmail.com) on May 1, 2021 1:01 pm wrote:
> > > The fun thing is that 4K pages probably used to be too large. On a 80386, just 8 tasks would consume
> > > at least 64k and probably 128k just for the page tables alone. (80386 page tables were two levels)
> >
> > The National Semiconductor 32016 had 512 byte page sizes. The problem is that overhead of small
> > page sizes becomes excessive as soon as you have more than a couple of megabytes of memory.
> > With 16MB of RAM and 512 byte pages that works out to 65536 pages for which data structures
> > to track all the individual pages are needed.
>
> That's what Linux does, but it is not necessarily the best size/speed tradeoff for very
> small memory systems. Tracking per page data with 4k pages and 64 bytes per page is
> still 25% the overhead of your "unviable" solution, which doesn't sound great when you
> put it that way. That being said I don't think it's necessarily bad at all.
>
>
Assuming you still want to keep "L1 "way size" = page size, that gives you 8 cachelines per "way". I think once ARM made a 32-way L1 cache that they claimed it was faster as 32-way, but that was certainly the exception.

Do you want "60-way" caches? Add some sort of inital TLB lookup to the L1 latency (which of course would require more entries, because smaller pages)?

It might have worked for the 386, but I think the more advanced RISCs and P6 might have had a lot of difficulty with L1 cache design and fast TLB lookup. And things would only get worse. And I'm really guessing that HDD transfer rates were the real reason for the 4k size.

Even modern disk drives use 4k pages, although I'm sure that has more to do with newer ECC algorithms (and the need for their efficiency) than any underlying preference for 4k pages.
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
4K pages probably used to be too largeYuhong Bao2021/05/01 01:01 PM
  HDD seek time isn't freeMark Roulo2021/05/01 02:12 PM
    HDD seek time isn't freeYuhong Bao2021/05/01 02:21 PM
      HDD seek time isn't freeTim Mc2021/05/01 02:42 PM
        HDD seek time isn't freerwessel2021/05/01 02:57 PM
  4K pages probably used to be too largeBen LaHaise2021/05/02 10:45 AM
    VAX was 512 (in 1977) (NT)anonymous22021/05/02 08:36 PM
      FWIW, S/370 offered a choice of 2K and 4K (NT)rwessel2021/05/03 05:09 AM
      DEC's earliest PDP-11 disks were 512 (in 1971)John Yates2021/05/03 01:53 PM
    4K pages probably used to be too largeanon22021/05/03 01:17 AM
      4K pages probably used to be too largeBen LaHaise2021/05/03 05:36 PM
        Morotola 680x0 series page sizesBen LaHaise2021/05/03 05:51 PM
        4K pages probably used to be too largeanon22021/05/03 06:39 PM
          4K pages probably used to be too largeanon22021/05/03 08:51 PM
        4K pages probably used to be too largeYuhong Bao2021/05/03 10:51 PM
      4K pages probably used to be too largewumpus2021/05/05 09:06 AM
        4K pages probably used to be too largeanon22021/05/05 04:04 PM
          4K pages probably used to be too largeChester2021/05/05 06:45 PM
            4K pages probably used to be too largewumpus2021/05/06 09:06 AM
              Phenom TLB bugHeikki Kultala2021/05/06 12:46 PM
                Phenom TLB bugChester2021/05/06 05:29 PM
        4K pages probably used to be too largeEtienne Lorrain2021/05/06 01:08 AM
          4K pages probably used to be too largeJames2021/05/06 02:36 AM
            4K pages probably used to be too largerwessel2021/05/06 09:32 AM
              Reformatting SCSI disk sector sizeDoug S2021/05/06 11:30 AM
        4K pages probably used to be too largeDavid Hess2021/05/11 08:57 AM
  Page size is more complex/nuancedPaul A. Clayton2021/05/08 10:03 AM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell tangerine? 🍊