Hartmut Birr wrote:
ion(a)svn.reactos.com wrote:
Nonpaged Pool Liberation Day: Allow PagedPool to
be used earlier, allow fast mutex to be used earlier on debug builds. Allocate all Se
stuff from PagedPool, set the right object types to use paged pool, allocate all strings
from paged pool, allocate PE sections from paged pool, and a bunch of other things which
should, imo, be in paged pool. If anyone has any contradicting proof, let me know...until
then, enjoy ~4-6MB more NonPagedPool
Hi,
I don't like the exchange from NonPagedPool to PagePool at the current
state of ros. There are two reasons:
A) The allocation of paged pool is very slowly compared with the non
paged pool allocation.
I am aware it's a bit slower (it shouldn't be noticeable), but do we
really need to store the Bootup SID, ACL and SDs in *nonpaged* memory?
Since when is security a top-priority for speed? Same thing for strings.
Windows doesn't even let you RtlCreate strings in non-paged...it's a
hack we created because our paged pool memory didn't work early enough.
The only reasons those allocations were ever done in nonpaged pool is
because it was impossible to do them in paged pool earlier, but I've
fixed that.
B) Since the change to the new object type structures,
ros has a big
memory leakage in the memory (pool) allocation/deallocation of objects.
For the non paged pool, there exist some debug functions to find the
problem. The paged pool doesn't implement anything to find such problems.
I can try to quickly hack up a new debug function to dump the Paged Pool
(doesn't one exist?).
I disagree with hacking the *whole tree* for *everyone* just so that
some developers can do debugging. I still have them set to nonpaged
locally, just like I have some stuff //#define NDEBUG locally to help me
debug problems..but that doesn't mean that everyone should be penalized.
After my changes, I can now boot ROS with only 16MB of Physical Memory.
I think it's more important then allocating a security ACL 0.0001
seconds faster... if you think otherwise, I'm open to discussion.
- Hartmut
Best regards,
Alex Ionescu