On Sun, 6 Apr 2008, Hugh Dickins wrote:A reliance on free slots that the slab allocator may provide? That is a rather bad dependency since it is up to the slab allocator to implement the storage layout for the objects and thus the availability of slots may vary depending on the layout for the objects chosen by the allocator. Looking at mempool_alloc: Mempools may be used to do atomic allocations until they fail thereby exhausting reserves and available object in the partial lists of slab caches? In order to make this a significant factor we need to have already exhausted reserves right? Thus we are already operating at the boundary of what memory there is. Any non atomic alloc will then allocate a new page with N elements in order to get one object. The mempool_allocs from the atomic context will then gooble up the N-1 remaining objects? So the nonatomic alloc will then have to hit the page allocator again... --
| Andrew Morton | -mm merge plans for 2.6.23 |
| Greg Kroah-Hartman | [PATCH 025/196] paride: Convert from class_device to device for block/paride |
| Renato S. Yamane | Error -71 on device descriptor read/all |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
git: | |
| David Miller | Re: [GIT]: Networking |
| Gerrit Renker | [PATCH 31/37] dccp: Remove manual influence on NDP Count feature |
| Frans Pop | svc: failed to register lockdv1 RPC service (errno 97). |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
