Messages in this thread | | | Date | Mon, 15 Dec 2008 15:16:47 +0100 | From | Nick Piggin <> | Subject | Re: [rfc][patch] SLQB slab allocator |
| |
On Mon, Dec 15, 2008 at 08:02:47AM -0600, Christoph Lameter wrote: > On Mon, 15 Dec 2008, Nick Piggin wrote: > > > > Does this mean that SLQB is less efficient than SLUB for off node > > > allocations? SLUB can do off node allocations from the per cpu objects. It > > > does not need to make the distinction for allocation. > > > > I haven't measured them, but that could be the case. However I haven't > > found a workload that does a lot of off-node allocations (short lived > > allocations are better on-node, and long lived ones are not going to > > be so numerous). > > A memoryless node is a case where all allocations will be like that.
Yes. Can the memoryless node revert to a default (closest) memory node?
> > That's more complexity, though. Given that objects are often hot when > > they are freed, and need to be touched after they are allocated anyway, > > the simple queue seems to be reasonable. > > Yup. > > > This case does improve the database score by around 1.5-2%, yes. I > > don't know what you mean exactly, though. What case, and what do you > > mean by bad cache unfriendly programming? I would be very interested > > in improving that benchmark of course, but I don't know what you > > suggest by keeping cachelines hot in the right way? > > What I was told about the database test is that it collects lists of > objects from various processors that are then freed on a different > processor. This means all objects are cache cold.
Well it's running an unmodified kernel... the database itself I guess is just submitting direct-IO requests from multiple processes to multiple disks. The objects should be pretty warm on the freeing CPU, but yes it would take a cacheline transfer at some level I guess.
| |