Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934766AbZJNPy1 (ORCPT ); Wed, 14 Oct 2009 11:54:27 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S934731AbZJNPyZ (ORCPT ); Wed, 14 Oct 2009 11:54:25 -0400 Received: from courier.cs.helsinki.fi ([128.214.9.1]:49827 "EHLO mail.cs.helsinki.fi" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934737AbZJNPyY (ORCPT ); Wed, 14 Oct 2009 11:54:24 -0400 Message-ID: <4AD5F3F8.8080603@cs.helsinki.fi> Date: Wed, 14 Oct 2009 18:53:28 +0300 From: Pekka Enberg User-Agent: Thunderbird 2.0.0.23 (Macintosh/20090812) MIME-Version: 1.0 To: Mel Gorman CC: Christoph Lameter , David Rientjes , Tejun Heo , linux-kernel@vger.kernel.org, Mathieu Desnoyers , Zhang Yanmin Subject: Re: [this_cpu_xx V6 7/7] this_cpu: slub aggressive use of this_cpu operations in the hotpaths References: <4AD4D8B6.6010700@cs.helsinki.fi> <20091014133457.GB5027@csn.ul.ie> <20091014154944.GD5027@csn.ul.ie> In-Reply-To: <20091014154944.GD5027@csn.ul.ie> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1611 Lines: 36 Hi Mel, Mel Gorman wrote: >>> The patches mostly improve the performance of netperf UDP_STREAM by a good >>> whack so the patches are a plus here. However, it should also be noted that >>> SLAB was mostly faster than SLUB, particularly for large packet sizes. Refresh >>> my memory, how do SLUB and SLAB differ in regards to off-loading large >>> allocations to the page allocator these days? >> SLUB offloads allocations > 8k to the page allocator. >> SLAB does create large slabs. >> > > Allocations >8k might explain then why 8K and 16K packets for UDP_STREAM > performance suffers. That can be marked as future possible work to sort > out within the allocator. > > However, does it explain why TCP_STREAM suffers so badly even for packet > sizes like 2K? It's also important to note in some cases, SLAB was far > slower even when the packet sizes were greater than 8k so I don't think > the page allocator is an adequate explanation for TCP_STREAM. SLAB is able to queue lots of large objects but SLUB can't do that because it has no queues. In SLUB, each CPU gets a page assigned to it that serves as a "queue" but the size of the queue gets smaller as object size approaches page size. We try to offset that with higher order allocations but IIRC we don't increase the order linearly with object size and cap it to some reasonable maximum. Pekka -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/