Re: WindowCE 5.0 + XIP Chain question!



In CE6 the cbNKPagingPoolSize has been replaced with IOCTL_HAL_GET_POOL_PARAMETERS.
For more details, you could refer to http://msdn.microsoft.com/en-us/library/aa916094.aspx , and you will see it jsut provides a more flexible page pool management.
Even there is no compressed module in your NK, that only means your code will not need to be page-in but the data still consume memory.
For example, if one of the module in your NK allocate a huge beffer, it will still count to the program memory.


"embedinfo" <embedinfo@xxxxxxxxx> wrote in message news:3ddfb64c-5bfd-4c4b-b95c-c14ce25e27aa@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
On Oct 22, 12:19 pm, "K. S. Huang" <ksh_AT_yahoo_DOT_com> wrote:
In the other hand, have you tried to set the cbNKPagingPoolSize in OAL?
This setting will allocate a dedicated paging pool and it will page out the
modules when full.

"K. S. Huang" <ksh_AT_yahoo_DOT_com> wrote in messagenews:OaqYeg8MJHA.4772@xxxxxxxxxxxxxxxxxxxxxxx


Hi,

Thanks again for your support!

> So you got a 61MB of program memory (is that shown in your control panel
> memory applet?) and got 13MB already in use.

[embedinfo]: yes I see that control panel ->system shows in-use
program memory as 13MB.
> And you would like to minimize this part further more?
[embedinfo]: yes I want to reduce it. I am loosing around 13MB+ 9MB =
22MB RAM
> Firstly, you will need to figure out how the 13MB being consumed, the mi
> command in CE Target Control (CEShell) could provide a text base memory
> usage report and other memory tracking utility might give you more info.
> And remember that, even with BinFS only the read-only could be paged out
> (like code...), the more R/W data you requested in your
> application/driver, the more program RAM it will be consumed.
> Besides that, drivers usually loaded by LoadDriver rather than > LoadLibrary
> API which will load the whole driver into memory and will not be
> paged-out.
> For those non-critical drivers, you may load the driver by LoadLibrary > API
> by indicating specific Flags registry settings.
[embedinfo]: Yes I have used this API to load 1-2 drivers. I will try running "mi" tool and update you!

In the other hand, have you tried to set the cbNKPagingPoolSize in
OAL?
This setting will allocate a dedicated paging pool and it will page
out the
modules when full.
[embedinfo]: yes I have set this to 2MB. Out of 13Mb of in-use memory
2Mb is used by this. So total in-use memory is 11MB. Question is if NK
is of 6MB it should consume 6MB. (I dont have any compressed modules
in my NK).

There is one more question about cbNKPagingPoolSize in windows CE 6.0
(No where related to problem that I am facing, just for my information
I want to know)
I have read that in Windows CE 6.0 page pooling concept is not there.
Then how does demand paging works in Windows CE 6.0?

Thanks

.