Re: 2.4.22pre6aa1

Andrea Arcangeli
2003-07-18T22:42:43Z

On Fri, Jul 18, 2003 at 03:48:24PM -0700, William Lee Irwin III wrote:
> On Sat, Jul 19, 2003 at 12:27:50AM +0200, Andrea Arcangeli wrote:
> > bigpages= is a documented API that has to be used in production, so I
> > can easily add the hugetlbfs API but I guess I've to keep this one
> > anyways. I also would need to verify the performance of hugetlbfs before
> > suggesting migrating to it, for example I don't want
> > preallocation/prefaulting (IIRC hugetlbfs preallocates everything). I
> > also like the single huge array of page pointers, that is very hardwired
> > but optimal for those workloads.
>
> Most of the complaints I've gotten are about lack of support for mixed
> PSE and non-PSE mappings, not preallocation or performance (generally
> its usage doesn't involve creation/destruction cycle performance
> requirements, and most of the time they intend to use 100% of the memory).
>
> It's basically too stupid and operating on too small a data set to
> screw up performance-wise apart from creation/destruction, which is not
> intended to be performant (and will never be; it blits oversized areas).
>
> I wouldn't mind hearing of what you believe is missing, so long as it's
> within the constraints of what's mergeable. =(

I tend to think the creation/destruction will be the most noticeable
performance difference in practice. allocating 42G in a single block
will take a bit of time ;). I'm not necessairly worse or unacceptable,
but it's different. And I feel I've to retain the bigpages= API (as an
API not as in implementation) anyways. Furthmore I'm unsure if hugtlbfs
is relaxed like the shm-largpeage patch is, I mean, it should be
possible to mmap the stuff with 4k granularty too, or stuff could break
due that change of API too.

Andrea