Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Jul 2001 15:46:01 +0800
From:      Rex Luo <rexluo@synology.com>
To:        Matt Dillon <dillon@earth.backplane.com>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: qestion about vm page coloring
Message-ID:  <200107260746.PAA10435@synology.com>

next in thread | raw e-mail | index | archive | help
  

  yes, I mean vm_page_t, and understand what you said. I will try to print the 
value of PQ_L2_SIZE in my kernel. Do you know what kernel options influence 
this value? I saw it is decided by PQ_CACHESIZE which is decided by different 
PQ_HUGE[LARGE/MEDIUM/...]CACHE....setting. Default setting PQ_CACHESIZE is 128,
and corresponding PQ_L2_SIZE is 32. Am I right until now or something wrong?
I use FreeBSD 4.1 release kernel to build my kernel.

Anyway, thanks for your explaination.

Rex Luo

Matt Dillon <dillon@earth.backplane.com> said: 
> 
> :Dear all,
> :
> :   I study FreeBSD vm managememnt recently, however, I am a little confused 
> :with vm_page's page color. when you call vm_add_new_page() in vm_startup(), 
> :you will set each map entry's page color according to its physical addr.
> :
> :   m->pc = (pa >> PAGE_SHIFT)&PQ_L2_MASK;
> :
> :However, I found that almost each map entry's page color is zero, that means
> :PQ_L2_SIZE is 1, and disable page coloring option. Maybe I can do some 
> :modification to dump PQ_L2_SIZE's value, but I think my guess is right.
> :Can someone please tell me the principle of page coloring, and why it's disabled
> :now?
> :
> :Thanks,
> :
> :Rex Luo
> 
>     I'm not sure what you mean by 'map entry'... vm_page_t's have color, and
>     vm_object's have a base color to randomly offset the color of the
>     vm_page_t's associated with the object, but vm_map_entry's do not have
>     a page color associated with them.
> 
>     The page coloring works fine on my box, you may be looking at the wrong
>     thing. PQ_L2_SIZE is definitely not 1 unless you've specified some weird
>     kernel options in the kernel config.
> 
>     -
> 
>     Page coloring basically ensures that pages which are adjacent in 
>     virtual memory also wind up being adjacent in the L1 and L2
>     cpu caches in order to get more consistent cpu cache behavior.  Without
>     page coloring it is quite possible to have several adjacent pages in
>     virtual memory wind up utilizing the same cpu cache page, which can
>     effect performance with certain types of applications or certain cpu
>     cache topologies.   On IA32 pentium architectures the effect would
>     probably not be all that noticeable, but getting consistent behavior
>     is still a good thing.
> 
> 						-Matt
> 




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200107260746.PAA10435>