Re: [Linux-ia64] kernel update (relative to 2.4.18)

From: David Mosberger <davidm_at_napali.hpl.hp.com>
Date: 2002-07-09 08:14:08
>>>>> On Mon, 08 Jul 2002 15:08:17 -0700, Kimio Suganuma <k-suganuma@mvj.biglobe.ne.jp> said:

  >> - Fix bootmem so machine boots much faster if there are large
  >> holes in the physical memory map.

  Kimio> This change seemed to cause a problem on my machine.  When a
  Kimio> system has physical memory >4G, IO TLB is allocated above 4G
  Kimio> like this;

  Kimio>    Placing software IO TLB between 0xe00000010222c000 -
  Kimio> 0xe00000010242c000

  Kimio> and then swiotlb_map_single() caused PANIC.

  Kimio> IO TLB is allocated by alloc_bootmem_low_pages(), and this is
  Kimio> just a macro calling __alloc_bootmem().

  Kimio>     #define alloc_bootmem_low_pages(x) \ __alloc_bootmem((x),
  Kimio> PAGE_SIZE, 0)

  Kimio> Once alloc_bootmem() is called, "last_success" is set to >
  Kimio> 4G.  And then alloc_bootmem_low_pages() becomes to allocates
  Kimio> memory > 4G. :-( alloc_bootmem_low_page() doesn't ensure to
  Kimio> allocate memory < 4G, but swiotlb expects to it allocates
  Kimio> very low address memory.

  Kimio> Here is a patch for mm/bootmem.c to fix the problem.  Any
  Kimio> comment?

Good catch.  Thanks for the fix!

	--david
Received on Mon Jul 08 15:15:41 2002

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:09 EST