public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [patch 0/11] mm: Reimplementation of dynamic per-cpu allocator
@ 2005-09-13 15:51 Ravikiran G Thirumalai
  2005-09-13 15:54 ` [patch 1/11] mm: Reimplementation of dynamic per-cpu allocator -- vmalloc_fixup Ravikiran G Thirumalai
                   ` (10 more replies)
  0 siblings, 11 replies; 26+ messages in thread
From: Ravikiran G Thirumalai @ 2005-09-13 15:51 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, dipankar, bharata, shai, Rusty Russell

I have been maintaining a set of patches based on the reimplemented dynamic
per-cpu allocator.  I would like to have them included in -mm for testing
and maybe merged when the mainline merge window opens  :)...

The reimplementation of the dynamic per-cpu allocator has been published
earlier and discussed, But the re-implementation with the applications and
supporting numbers weren't published earlier.  Here is an attempt towards
the same.

This patchset contains 
a) Reimplementation of alloc_percpu. 
b) Rusty's implementation of distributed reference counters (bigrefs)
c) Code to change struct netdevice.refcnt to bigrefs -- this patch improves
tbench performance by 6% on a 8 way 3.00 GHZ x86 Intel xeon (x445).
d) Code to change struct dst_entry.__refcnt per-cpu.  This patch was
originally submitted sometime back by Christoph.  The reworked patch uses
alloc_percpu, and struct dst_entry does not bloat up now.  This patch along with
the netdevice ref-counter patch above gives a whopping 55 % improvement on
tbench on a 8way x86 xeon (x445).  The same patchset resulted in 30% better
tbench throughput on a x460 (8 way 3.3 Ghz x86_64 xeon).

All tbench numbers were on loopback with 8 clients.

The patches consist of

1. vmalloc_fixup 
(Fix up __get_vm_area to take gfp flags as extra arg -- preparatory for 3.)

2. alloc_percpu 
(Main allocator)

3. alloc_percpu_atomic 
(Add GFP_FLAGS args to alloc_percpu -- for dst_entry.refcount)

4.change_alloc_percpu_users 
(Change  alloc_percpu users to use modified interface (with gfp_flags))

5. add_getcpuptr 
(This is needed for bigrefs)

6. bigrefs 
(Fixed up bigref from rusty)

7. netdev_refcnt_bigref.patch 
(Bigref based netdev refcount)

8. dst_abstraction 
9. dst_alloc_percpu 
(dst_entry.refcount patches)

10. allow_early_mapvmarea 
11. hotplug_alloc_percpu_blocks 
(If alloc_percpu needs to be used real early then these patches will be
needed.  This patch allows us to use bigrefs/alloc_percpu for refcounters 
like struct vfsmount.mnt_count)

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2005-09-14  7:21 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-13 15:51 [patch 0/11] mm: Reimplementation of dynamic per-cpu allocator Ravikiran G Thirumalai
2005-09-13 15:54 ` [patch 1/11] mm: Reimplementation of dynamic per-cpu allocator -- vmalloc_fixup Ravikiran G Thirumalai
2005-09-13 19:25   ` Andrew Morton
2005-09-13 15:56 ` [patch 2/11] mm: Reimplementation of dynamic per-cpu allocator -- alloc_percpu Ravikiran G Thirumalai
2005-09-13 15:58 ` [patch 3/11] mm: Reimplementation of dynamic per-cpu allocator -- alloc_percpu_atomic Ravikiran G Thirumalai
2005-09-13 15:59 ` [patch 4/11] mm: Reimplementation of dynamic per-cpu allocator -- change_alloc_percpu_users Ravikiran G Thirumalai
2005-09-13 16:01 ` [patch 5/11] mm: Bigrefs -- add_getcpuptr Ravikiran G Thirumalai
2005-09-13 16:04 ` [patch 6/11] mm: Bigrefs -- distributed refcounters Ravikiran G Thirumalai
2005-09-13 16:10 ` [patch 7/11] net: Use bigrefs for net_device.refcount Ravikiran G Thirumalai
2005-09-13 16:26   ` Stephen Hemminger
2005-09-13 16:35     ` Ben Greear
2005-09-13 16:46       ` Stephen Hemminger
2005-09-13 20:26     ` David S. Miller
2005-09-13 22:16       ` Ravikiran G Thirumalai
2005-09-13 18:27   ` Eric Dumazet
2005-09-13 18:53     ` Ravikiran G Thirumalai
2005-09-13 16:12 ` [patch 8/11] net: dst_abstraction macros Ravikiran G Thirumalai
2005-09-13 16:17 ` [patch 9/11] net: dst_entry.refcount, use, lastuse to use alloc_percpu Ravikiran G Thirumalai
2005-09-13 20:24   ` David S. Miller
2005-09-13 22:07     ` Ravikiran G Thirumalai
2005-09-13 22:12       ` David S. Miller
2005-09-13 23:17         ` Ravikiran G Thirumalai
2005-09-13 23:27           ` David S. Miller
2005-09-14  7:21             ` Rusty Russell
2005-09-13 16:18 ` [patch 10/11] mm: Reimplementation of dynamic per-cpu allocator -- allow_early_mapvmarea Ravikiran G Thirumalai
2005-09-13 16:19 ` [patch 11/11] mm: Reimplementation of dynamic per-cpu allocator -- hotplug_alloc_percpu_blocks Ravikiran G Thirumalai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox