[haiku-commits] Re: r34467 - in haiku/trunk: headers/private/kernel/vm src/system/kernel/vm

  • From: Ingo Weinhold <ingo_weinhold@xxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Thu, 03 Dec 2009 17:03:00 +0100

On 2009-12-03 at 16:25:24 [+0100], Rene Gollent <anevilyak@xxxxxxxxx> wrote:
> On Thu, Dec 3, 2009 at 9:21 AM,  <ingo_weinhold@xxxxxx> wrote:
> > Finally all address space changes happen in VMAddressSpace only. *phew*
> > Now it's ready to be thoroughly butchered. :-)
> 
> I'm somewhat scared to ask what you mean by butchered in this
> case...nice work in any event :)

Currently the data structure to manage the areas of an address space is a 
linked list ordered by address. That makes area creation (i.e. finding a 
free range) an O(n) algorithm, with n being the number of areas in the 
address space. Particularly for the kernel, which has a lot of areas 
(usually increasing with the system up-time) this is quite unsuitable and 
perhaps even the reason why e.g. building Haiku scales so badly with an 
increasing number of jobs. So the plan is to replace the data structures 
and algorithms.

CU, Ingo

Other related posts: