> But, if you allocate 200 objects from your lookaside list, and that succeeds, and from that point forward you never try to use more than 200 things at a time, then I would assert that ExAllocateFrom*LookasideList should never fail.
This is incorrect. The OS can scavenge the lookaside list when it is under memory pressure, that is why there is a public abstraction for allocation caches…so the OS knows about them and can trim them when it needs the memory
d
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Tim Roberts
Sent: Friday, October 29, 2010 11:15 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] ExAllocatePoolWithTag always returns NULL.
xxxxx@oracle.com wrote:
Please correct my misunderstandings if you would… I’d like to have that straight. What’s the point of lookaside lists then? Is it just that it’s more efficient when allocating small pieces?
Think about it just a bit. If your lookaside list runs out of empty chunks, then it will have to go allocate more memory. That can fail.
But, if you allocate 200 objects from your lookaside list, and that succeeds, and from that point forward you never try to use more than 200 things at a time, then I would assert that ExAllocateFrom*LookasideList should never fail.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer