* [GIT PULL] mm: Remove slab destructors from kmem_cache_create().
@ 2007-07-20 1:28 Paul Mundt
2007-07-20 1:43 ` Linus Torvalds
2007-07-21 21:28 ` Matt Mackall
0 siblings, 2 replies; 6+ messages in thread
From: Paul Mundt @ 2007-07-20 1:28 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Christoph Lameter, linux-kernel
Slab destructors were no longer supported after Christoph's
c59def9f222d44bb7e2f0a559f2906191a0862d7 change. They've been
BUGs for both slab and slub, and slob never supported them
either.
This rips out support for the dtor pointer from kmem_cache_create()
completely and fixes up every single callsite in the kernel (there were
about 224, not including the slab allocator definitions themselves,
or the documentation references).
Perhaps this is something that should go in later, as it does
cause a bit of churn across the tree. However, there shouldn't be
anything here that causes trouble for git merges, as it's all pretty
straightforward removal. I've placed it in a git tree to pull as it's
quite large, and not terribly interesting.
If you want this single change, please pull from:
master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6.git kmem_death
Which contains:
Paul Mundt (1):
mm: Remove slab destructors from kmem_cache_create().
arch/arm/plat-s3c24xx/dma.c | 2 +-
arch/arm26/mm/memc.c | 4 ++--
arch/i386/mm/init.c | 3 +--
arch/ia64/ia32/ia32_support.c | 2 +-
arch/powerpc/kernel/rtas_flash.c | 2 +-
arch/powerpc/mm/hugetlbpage.c | 2 +-
arch/powerpc/mm/init_64.c | 3 +--
arch/powerpc/platforms/cell/spufs/inode.c | 2 +-
arch/sh/kernel/cpu/sh4/sq.c | 3 +--
arch/sh/mm/pmb.c | 2 +-
arch/sparc64/mm/tsb.c | 3 +--
block/bsg.c | 2 +-
block/ll_rw_blk.c | 6 +++---
drivers/acpi/osl.c | 2 +-
drivers/block/aoe/aoeblk.c | 4 ++--
drivers/ieee1394/eth1394.c | 2 +-
drivers/infiniband/core/mad.c | 1 -
drivers/infiniband/hw/amso1100/c2_vq.c | 2 +-
drivers/infiniband/hw/ehca/ehca_av.c | 2 +-
drivers/infiniband/hw/ehca/ehca_cq.c | 2 +-
drivers/infiniband/hw/ehca/ehca_main.c | 2 +-
drivers/infiniband/hw/ehca/ehca_mrmw.c | 4 ++--
drivers/infiniband/hw/ehca/ehca_pd.c | 2 +-
drivers/infiniband/hw/ehca/ehca_qp.c | 2 +-
drivers/infiniband/ulp/iser/iscsi_iser.c | 2 +-
drivers/kvm/mmu.c | 8 ++++----
drivers/md/raid5.c | 4 ++--
drivers/message/i2o/i2o_block.c | 3 +--
drivers/mtd/ubi/eba.c | 2 +-
drivers/mtd/ubi/wl.c | 2 +-
drivers/s390/block/dasd_devmap.c | 2 +-
drivers/s390/scsi/zfcp_aux.c | 6 +++---
drivers/scsi/aic94xx/aic94xx_init.c | 4 ++--
drivers/scsi/libsas/sas_init.c | 2 +-
drivers/scsi/qla2xxx/qla_os.c | 2 +-
drivers/scsi/qla4xxx/ql4_os.c | 2 +-
drivers/scsi/scsi.c | 2 +-
drivers/scsi/scsi_lib.c | 4 ++--
drivers/scsi/scsi_tgt_lib.c | 2 +-
drivers/usb/host/uhci-hcd.c | 2 +-
drivers/usb/mon/mon_text.c | 2 +-
fs/adfs/super.c | 4 ++--
fs/affs/super.c | 2 +-
fs/afs/super.c | 3 +--
fs/befs/linuxvfs.c | 4 ++--
fs/bfs/inode.c | 4 ++--
fs/bio.c | 2 +-
fs/block_dev.c | 2 +-
fs/cifs/cifsfs.c | 10 +++++-----
fs/coda/inode.c | 4 ++--
fs/configfs/mount.c | 2 +-
fs/dcache.c | 4 ++--
fs/dcookies.c | 2 +-
fs/dlm/lowcomms.c | 2 +-
fs/dlm/memory.c | 2 +-
fs/dnotify.c | 2 +-
fs/dquot.c | 4 ++--
fs/ecryptfs/main.c | 2 +-
fs/efs/super.c | 4 ++--
fs/eventpoll.c | 4 ++--
fs/ext2/super.c | 4 ++--
fs/ext3/super.c | 2 +-
fs/ext4/super.c | 2 +-
fs/fat/cache.c | 2 +-
fs/fat/inode.c | 2 +-
fs/fcntl.c | 2 +-
fs/freevxfs/vxfs_super.c | 4 ++--
fs/fuse/dev.c | 2 +-
fs/fuse/inode.c | 2 +-
fs/gfs2/main.c | 6 +++---
fs/hfs/super.c | 2 +-
fs/hfsplus/super.c | 2 +-
fs/hpfs/super.c | 4 ++--
fs/hugetlbfs/inode.c | 2 +-
fs/inode.c | 3 +--
fs/inotify_user.c | 4 ++--
fs/isofs/inode.c | 2 +-
fs/jbd/journal.c | 8 +++-----
fs/jbd/revoke.c | 4 ++--
fs/jbd2/journal.c | 8 +++-----
fs/jbd2/revoke.c | 4 ++--
fs/jffs2/malloc.c | 18 +++++++++---------
fs/jffs2/super.c | 2 +-
fs/jfs/jfs_metapage.c | 2 +-
fs/jfs/super.c | 2 +-
fs/locks.c | 2 +-
fs/mbcache.c | 2 +-
fs/minix/inode.c | 4 ++--
fs/namespace.c | 2 +-
fs/ncpfs/inode.c | 4 ++--
fs/nfs/direct.c | 2 +-
fs/nfs/inode.c | 4 ++--
fs/nfs/pagelist.c | 2 +-
fs/nfs/read.c | 2 +-
fs/nfs/write.c | 2 +-
fs/nfsd/nfs4state.c | 8 ++++----
fs/ntfs/super.c | 10 +++++-----
fs/ocfs2/dlm/dlmfs.c | 2 +-
fs/ocfs2/dlm/dlmmaster.c | 2 +-
fs/ocfs2/super.c | 2 +-
fs/ocfs2/uptodate.c | 2 +-
fs/openpromfs/inode.c | 2 +-
fs/proc/inode.c | 4 ++--
fs/qnx4/inode.c | 2 +-
fs/reiserfs/super.c | 2 +-
fs/romfs/inode.c | 4 ++--
fs/smbfs/inode.c | 4 ++--
fs/smbfs/request.c | 2 +-
fs/sysfs/mount.c | 2 +-
fs/sysv/inode.c | 2 +-
fs/udf/super.c | 2 +-
fs/ufs/super.c | 4 ++--
fs/xfs/linux-2.6/kmem.h | 4 ++--
include/linux/i2o.h | 3 +--
include/linux/slab.h | 3 +--
ipc/mqueue.c | 2 +-
kernel/fork.c | 18 +++++++++---------
kernel/nsproxy.c | 2 +-
kernel/posix-timers.c | 2 +-
kernel/user.c | 2 +-
lib/idr.c | 2 +-
lib/radix-tree.c | 2 +-
mm/mempolicy.c | 4 ++--
mm/rmap.c | 2 +-
mm/shmem.c | 2 +-
mm/slab.c | 17 +++++++----------
mm/slob.c | 3 +--
mm/slub.c | 4 +---
net/bridge/br_fdb.c | 2 +-
net/core/flow.c | 2 +-
net/core/neighbour.c | 2 +-
net/core/skbuff.c | 4 ++--
net/core/sock.c | 6 +++---
net/dccp/ackvec.c | 4 ++--
net/dccp/ccid.c | 2 +-
net/dccp/ccids/lib/loss_interval.c | 2 +-
net/dccp/ccids/lib/packet_history.c | 4 ++--
net/dccp/proto.c | 2 +-
net/decnet/dn_route.c | 2 +-
net/decnet/dn_table.c | 2 +-
net/ipv4/fib_hash.c | 4 ++--
net/ipv4/fib_trie.c | 2 +-
net/ipv4/inetpeer.c | 2 +-
net/ipv4/ipmr.c | 2 +-
net/ipv4/ipvs/ip_vs_conn.c | 2 +-
net/ipv4/route.c | 2 +-
net/ipv4/tcp.c | 2 +-
net/ipv6/ip6_fib.c | 2 +-
net/ipv6/route.c | 2 +-
net/ipv6/xfrm6_tunnel.c | 2 +-
net/netfilter/nf_conntrack_core.c | 2 +-
net/netfilter/nf_conntrack_expect.c | 2 +-
net/netfilter/xt_hashlimit.c | 2 +-
net/rxrpc/af_rxrpc.c | 2 +-
net/sctp/protocol.c | 4 ++--
net/socket.c | 3 +--
net/sunrpc/rpc_pipe.c | 2 +-
net/sunrpc/sched.c | 4 ++--
net/tipc/handler.c | 2 +-
net/xfrm/xfrm_input.c | 2 +-
net/xfrm/xfrm_policy.c | 2 +-
security/keys/key.c | 2 +-
security/selinux/avc.c | 2 +-
security/selinux/hooks.c | 2 +-
security/selinux/ss/avtab.c | 2 +-
165 files changed, 247 insertions(+), 268 deletions(-)
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [GIT PULL] mm: Remove slab destructors from kmem_cache_create().
2007-07-20 1:28 [GIT PULL] mm: Remove slab destructors from kmem_cache_create() Paul Mundt
@ 2007-07-20 1:43 ` Linus Torvalds
2007-07-21 21:28 ` Matt Mackall
1 sibling, 0 replies; 6+ messages in thread
From: Linus Torvalds @ 2007-07-20 1:43 UTC (permalink / raw)
To: Paul Mundt; +Cc: Christoph Lameter, linux-kernel
On Fri, 20 Jul 2007, Paul Mundt wrote:
>
> Perhaps this is something that should go in later, as it does
> cause a bit of churn across the tree. However, there shouldn't be
> anything here that causes trouble for git merges, as it's all pretty
> straightforward removal. I've placed it in a git tree to pull as it's
> quite large, and not terribly interesting.
Ok, I thought twice about this, but
(a) I think most of the merging for 2.6.23 has been done
(b) there's really no point in holding on to that thing
(c) the patch looked beatiful in colorized version in gitk
so I decided I might as well just merge it. Looks fine to me, and there
really is no point holding on to an interface that we've never really
used, and that we don't even support any more.
Linus
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [GIT PULL] mm: Remove slab destructors from kmem_cache_create().
2007-07-20 1:28 [GIT PULL] mm: Remove slab destructors from kmem_cache_create() Paul Mundt
2007-07-20 1:43 ` Linus Torvalds
@ 2007-07-21 21:28 ` Matt Mackall
2007-07-21 23:42 ` Paul Mundt
1 sibling, 1 reply; 6+ messages in thread
From: Matt Mackall @ 2007-07-21 21:28 UTC (permalink / raw)
To: Paul Mundt, Linus Torvalds, Christoph Lameter, linux-kernel
On Fri, Jul 20, 2007 at 10:28:46AM +0900, Paul Mundt wrote:
> Slab destructors were no longer supported after Christoph's
> c59def9f222d44bb7e2f0a559f2906191a0862d7 change. They've been
> BUGs for both slab and slub, and slob never supported them
> either.
SLOB of course did support destructors, otherwise it wouldn't have
worked.
But good riddance to destructors nonetheless.
--
Mathematics is the supreme nostalgia of our time.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [GIT PULL] mm: Remove slab destructors from kmem_cache_create().
2007-07-21 21:28 ` Matt Mackall
@ 2007-07-21 23:42 ` Paul Mundt
2007-07-23 21:04 ` Christoph Lameter
0 siblings, 1 reply; 6+ messages in thread
From: Paul Mundt @ 2007-07-21 23:42 UTC (permalink / raw)
To: Matt Mackall; +Cc: Linus Torvalds, Christoph Lameter, linux-kernel
On Sat, Jul 21, 2007 at 04:28:52PM -0500, Matt Mackall wrote:
> On Fri, Jul 20, 2007 at 10:28:46AM +0900, Paul Mundt wrote:
> > Slab destructors were no longer supported after Christoph's
> > c59def9f222d44bb7e2f0a559f2906191a0862d7 change. They've been
> > BUGs for both slab and slub, and slob never supported them
> > either.
>
> SLOB of course did support destructors, otherwise it wouldn't have
> worked.
>
Ah, I just noticed that there was no reference to the dtor in SLOB at all
apart from the kmem_cache_create() op. It looks like they were called
back in to and removed by an earlier patch, so the 'never' statement is
disinformation on my part. Sorry for the confusion!
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [GIT PULL] mm: Remove slab destructors from kmem_cache_create().
2007-07-21 23:42 ` Paul Mundt
@ 2007-07-23 21:04 ` Christoph Lameter
2007-07-23 21:24 ` Matt Mackall
0 siblings, 1 reply; 6+ messages in thread
From: Christoph Lameter @ 2007-07-23 21:04 UTC (permalink / raw)
To: Paul Mundt; +Cc: Matt Mackall, Linus Torvalds, linux-kernel
Please do not merge this patch. I will reuse the destructor field for
the kmem_cache_ops in the slab defrag patchset. If you apply this patch
then I need to readd the parameter later.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [GIT PULL] mm: Remove slab destructors from kmem_cache_create().
2007-07-23 21:04 ` Christoph Lameter
@ 2007-07-23 21:24 ` Matt Mackall
0 siblings, 0 replies; 6+ messages in thread
From: Matt Mackall @ 2007-07-23 21:24 UTC (permalink / raw)
To: Christoph Lameter; +Cc: Paul Mundt, Linus Torvalds, linux-kernel
On Mon, Jul 23, 2007 at 02:04:44PM -0700, Christoph Lameter wrote:
> Please do not merge this patch. I will reuse the destructor field for
> the kmem_cache_ops in the slab defrag patchset. If you apply this patch
> then I need to readd the parameter later.
The vast majority of slabs won't have any cache ops, right? Wouldn't
it be cleaner to have a kmem_set_cache_ops() for the few that do?
While we're on the subject, has anyone reviewed your defrag stuff?
I read through it a while back and my initial impression is a) it's
awfully complex and invasive and b) it probably won't protect all
workloads.
As this and several other vexing problems stem from the dcache design,
I'd rather abandon the dcache out in the woods so we can replace it
with something less troublesome.
--
Mathematics is the supreme nostalgia of our time.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2007-07-23 21:24 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-20 1:28 [GIT PULL] mm: Remove slab destructors from kmem_cache_create() Paul Mundt
2007-07-20 1:43 ` Linus Torvalds
2007-07-21 21:28 ` Matt Mackall
2007-07-21 23:42 ` Paul Mundt
2007-07-23 21:04 ` Christoph Lameter
2007-07-23 21:24 ` Matt Mackall
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox