linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Maze of include files, all producing errors...
@ 2002-02-28 20:48 Russell King
  2002-03-01  0:52 ` Richard Henderson
  2002-03-03 22:28 ` Daniel Phillips
  0 siblings, 2 replies; 3+ messages in thread
From: Russell King @ 2002-02-28 20:48 UTC (permalink / raw)
  To: linux-kernel

In 2.5.5 (Changeset 1.359.2.3), the highmem.h and pgalloc.h includes were
reversed.

Previous kernels had linux/highmem.h including asm/pgalloc.h.  Placing
the architecture cache handling functions worked well in asm/pgalloc.h,
allowing highmem.h to find them; highmem.h uses flush_dcache_page() and
friends in inline functions.

In this changeset, highmem.h no longer includes pgalloc.h, but instead
pgalloc.h includes highmem.h.  This, unfortunately, tends to break things
in a major way since the cache functions are no longer available to
highmem.h.

Looking at x86, the (no-op) cache functions live in pgtable.h.  However,
trying to put the ARM cache handling into pgtable.h doesn't work because
we need things like PG_arch_1 and struct page.  pgtable.h is included by
linux/mm.h before linux/mm.h declares PG_arch_1 and struct page.  So
obviously this can't work.

Has anyone encountered this, and has anyone found a magic working
combination?

For now, I'm going to reverse the include changes in this changeset so
things build again.

-- 
Russell King (rmk@arm.linux.org.uk)                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html


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

* Re: Maze of include files, all producing errors...
  2002-02-28 20:48 Maze of include files, all producing errors Russell King
@ 2002-03-01  0:52 ` Richard Henderson
  2002-03-03 22:28 ` Daniel Phillips
  1 sibling, 0 replies; 3+ messages in thread
From: Richard Henderson @ 2002-03-01  0:52 UTC (permalink / raw)
  To: Russell King; +Cc: linux-kernel

On Thu, Feb 28, 2002 at 08:48:26PM +0000, Russell King wrote:
> For now, I'm going to reverse the include changes in this changeset so
> things build again.

That's what I did for alpha too.


r~

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

* Re: Maze of include files, all producing errors...
  2002-02-28 20:48 Maze of include files, all producing errors Russell King
  2002-03-01  0:52 ` Richard Henderson
@ 2002-03-03 22:28 ` Daniel Phillips
  1 sibling, 0 replies; 3+ messages in thread
From: Daniel Phillips @ 2002-03-03 22:28 UTC (permalink / raw)
  To: Russell King, linux-kernel

On February 28, 2002 09:48 pm, Russell King wrote:
> In 2.5.5 (Changeset 1.359.2.3), the highmem.h and pgalloc.h includes were
> reversed.
> 
> Previous kernels had linux/highmem.h including asm/pgalloc.h.  Placing
> the architecture cache handling functions worked well in asm/pgalloc.h,
> allowing highmem.h to find them; highmem.h uses flush_dcache_page() and
> friends in inline functions.
> 
> In this changeset, highmem.h no longer includes pgalloc.h, but instead
> pgalloc.h includes highmem.h.  This, unfortunately, tends to break things
> in a major way since the cache functions are no longer available to
> highmem.h.
> 
> Looking at x86, the (no-op) cache functions live in pgtable.h.  However,
> trying to put the ARM cache handling into pgtable.h doesn't work because
> we need things like PG_arch_1 and struct page.  pgtable.h is included by
> linux/mm.h before linux/mm.h declares PG_arch_1 and struct page.  So
> obviously this can't work.
> 
> Has anyone encountered this, and has anyone found a magic working
> combination?

I've noticed it's a mess...

I ran into a different problem yesterday.  It seems mmzone.h is included
before struct page is defined and therefore inlines in mmzone.h can't
do arithmetic on the size of struct page.  This forces code in mmzone.h
to be macros instead of inlines.

-- 
Daniel

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

end of thread, other threads:[~2002-03-03 22:33 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-02-28 20:48 Maze of include files, all producing errors Russell King
2002-03-01  0:52 ` Richard Henderson
2002-03-03 22:28 ` Daniel Phillips

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).