linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [patch] zoned-2.3.28-K4
@ 1999-11-17 19:46 Ingo Molnar
  1999-11-19  3:57 ` Linus Torvalds
  0 siblings, 1 reply; 2+ messages in thread
From: Ingo Molnar @ 1999-11-17 19:46 UTC (permalink / raw)
  To: MM mailing list, linux-kernel; +Cc: Linus Torvalds

the latest patchset is at:

	http://www.redhat.com/~mingo/zoned-2.3.28-K4

-- mingo

Changes in zoned-2.3.28-K4:

- Russell King's task reference counter fix

- Petr Vandrovec's ncpfs-in-highmem patch


Changes in zoned-2.3.28-K2:

- fixed stupid oom bug reported by Jeff and others, introduced in J5

- fixed memory balancing

- show_free_areas() bug fixed.

- (includes Russell King's procfs fix)


Changes in zoned-2.3.28-J5:

- further page_alloc.c cleanups/speedups.

- Alan and Rogier convinced me to optimize the 'top level zone is empty'
  case a bit more.

- show_free_areas() works again.

- some more include file fixes


Changes in zoned-2.3.28-H2:

- fixed NFS to work out of high memory - tested with moderate load. All
  NFS caches (directory, symlink, data, etc.) are in high memory.

- modules fix ...

- page->virtual is filled out for non-highmem pages too, this is a
  nice speedup in certain cases.

- fixed a bug in highmem support which might cause user-datapage
  corruption in certain cases.


Changes in zoned-2.3.28-G5:

- this one should actually compile if modules support is turned on ...


Changes in zoned-2.3.28-G4:

- implemented 'zone chains' zonelist_t and gfp_mask indexed zonelists[]
  speedups (Linus' idea) to handle fallback zones. This should enable
  advanced NUMA-style allocations as well. [fallback to different CPUs is 
  possible via changing build_zonelists().]

- <=16MB RAM boxes should boot just fine now.

- added page->zone for easier deallocation and generic cleanliness. This
  also helps NUMA.

- cleaned up the page-allocator namespace, there are only two 'core'
  page-allocation functions left: __alloc_pages() and __free_pages_ok().

- modules should compile again.

- we are now inlining the 'put_page_testzero()' part of __free_page_ok.
  This is subtle as page->count for reserved pages is now 'rotating' -
  this is fine though and lets us to put the rare PageReserved() branch
  into __free_page_ok().

- cleaned up pgtable.h, split into lowlevel and highlevel parts, this
  fixes dependencies in mm.h & misc.c.

- serial.c didnt clear freshly allocated bootmem - as a result now all
  bootmem allocations are explicitly cleared, it's not performance
  critical anyway.

- fixed code,data,initmem reporting.

- fixed boot task's swapper_pg_dir clearing

-- mingo

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://humbolt.geo.uu.nl/Linux-MM/

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [patch] zoned-2.3.28-K4
  1999-11-17 19:46 [patch] zoned-2.3.28-K4 Ingo Molnar
@ 1999-11-19  3:57 ` Linus Torvalds
  0 siblings, 0 replies; 2+ messages in thread
From: Linus Torvalds @ 1999-11-19  3:57 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: MM mailing list, linux-kernel

[ Ok, back from comdex, looking through my horrible backlog of email.. ]

On Wed, 17 Nov 1999, Ingo Molnar wrote:
> 
> the latest patchset is at:
> 
> 	http://www.redhat.com/~mingo/zoned-2.3.28-K4

Ugh. I don't like some of this:

 - the "task->refcount" thing is just silly, considering that any
   architecture that uses pages for task allocation would have been better
   off just using the memory management refcount like we used to.

   Why not do this by just doing a per-architecture "get_task_struct()"
   and "put_task_struct()", to go with the already existing "alloc" and
   "free" functionality?

   Thus, on the 99% of all machines where the page allocator already does
   the work for us, we'd just have

		#define get_task_struct(tsk) \
			atomic_inc(&mem_map[MAP_NR(tsk)].count)
		#define put_task_struct(tsk) \
			free_task_struct(tsk)

   which is just obviously right and cleans up the need to have that silly
   refcount. Then ARM can just have a refcount in its own definition of
   get_task_struct() and friends in task->thread.refcount..

 - I don't see the reason for renaming page_address() to page_vaddr()?

 - "flush_cache_all()" etc in "pgalloc.h"? Senseless. I can see pgalloc.h
   containing the page table allocation routines. But why did you move the
   other stuff there? Looks like a cut-and-paste bug to me. Why a new
   header file at all?

Would you mind explaining or re-doing?

		Linus

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://humbolt.geo.uu.nl/Linux-MM/

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~1999-11-19  3:57 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-11-17 19:46 [patch] zoned-2.3.28-K4 Ingo Molnar
1999-11-19  3:57 ` Linus Torvalds

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox