public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] generic radix trees; drop flex arrays
@ 2018-12-17 13:19 Kent Overstreet
  2018-12-17 13:19 ` [PATCH 1/7] openvswitch: convert to kvmalloc Kent Overstreet
                   ` (6 more replies)
  0 siblings, 7 replies; 15+ messages in thread
From: Kent Overstreet @ 2018-12-17 13:19 UTC (permalink / raw)
  To: akpm, linux-kernel; +Cc: Kent Overstreet

this has been sitting on my todo list for far too long; let's try and get it
merged before flex arrays grow any new users.

The only significant change since the last time I mailed this out is that it's
now safe to use a genradix from multiple threads, including when new nodes are
being allocated.

Since we never _free_ nodes on a genradix while it's in use (only when the
entire tree is being freed), this adds very little code - we just use cmpxchg
for adding pointers to new nodes, there's no need to use rcu_read_lock() or
anything like that. And for the types of things we seem to want to use it for
it's quite useful.

Andrew, would you mind picking up this series, or would someone else be more
suitable? The patch series has been sent out a few times and seen a fair amoun
of review.

Kent Overstreet (7):
  openvswitch: convert to kvmalloc
  md: convert to kvmalloc
  selinux: convert to kvmalloc
  Generic radix trees
  proc: commit to genradix
  sctp: Convert to genradix
  Drop flex_arrays

 Documentation/core-api/flexible-arrays.rst    | 130 ------
 Documentation/core-api/generic-radix-tree.rst |  12 +
 Documentation/core-api/index.rst              |   1 +
 Documentation/flexible-arrays.txt             | 123 ------
 drivers/md/raid5-ppl.c                        |   6 +-
 drivers/md/raid5.c                            |  87 ++--
 drivers/md/raid5.h                            |   9 +-
 fs/proc/base.c                                |  43 +-
 include/linux/flex_array.h                    | 149 -------
 include/linux/generic-radix-tree.h            | 231 ++++++++++
 include/linux/poison.h                        |   3 -
 include/net/sctp/structs.h                    |  15 +-
 lib/Makefile                                  |   5 +-
 lib/flex_array.c                              | 398 ------------------
 lib/generic-radix-tree.c                      | 217 ++++++++++
 net/openvswitch/flow.h                        |   1 -
 net/openvswitch/flow_netlink.h                |   1 -
 net/openvswitch/flow_table.c                  |  51 +--
 net/openvswitch/flow_table.h                  |   3 +-
 net/sctp/stream.c                             | 106 +----
 net/sctp/stream_interleave.c                  |   2 +-
 security/selinux/ss/avtab.c                   |  40 +-
 security/selinux/ss/avtab.h                   |   4 +-
 security/selinux/ss/conditional.c             |   6 +-
 security/selinux/ss/policydb.c                | 122 ++----
 security/selinux/ss/policydb.h                |  12 +-
 security/selinux/ss/services.c                |  22 +-
 tools/include/linux/poison.h                  |   3 -
 28 files changed, 628 insertions(+), 1174 deletions(-)
 delete mode 100644 Documentation/core-api/flexible-arrays.rst
 create mode 100644 Documentation/core-api/generic-radix-tree.rst
 delete mode 100644 Documentation/flexible-arrays.txt
 delete mode 100644 include/linux/flex_array.h
 create mode 100644 include/linux/generic-radix-tree.h
 delete mode 100644 lib/flex_array.c
 create mode 100644 lib/generic-radix-tree.c

-- 
2.20.1


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

end of thread, other threads:[~2019-01-18 14:52 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-17 13:19 [PATCH 0/7] generic radix trees; drop flex arrays Kent Overstreet
2018-12-17 13:19 ` [PATCH 1/7] openvswitch: convert to kvmalloc Kent Overstreet
2018-12-17 13:19 ` [PATCH 2/7] md: " Kent Overstreet
2018-12-17 13:19 ` [PATCH 3/7] selinux: " Kent Overstreet
2018-12-17 13:19 ` [PATCH 4/7] Generic radix trees Kent Overstreet
2018-12-17 13:19 ` [PATCH 5/7] proc: commit to genradix Kent Overstreet
2018-12-17 13:19 ` [PATCH 6/7] sctp: Convert " Kent Overstreet
2018-12-17 20:50   ` Andrew Morton
2018-12-17 20:59     ` Marcelo Ricardo Leitner
2018-12-17 21:00     ` Kent Overstreet
2019-01-15 14:29       ` Marcelo Ricardo Leitner
2019-01-18 13:10         ` Neil Horman
2019-01-18 13:35           ` Marcelo Ricardo Leitner
2019-01-18 14:51             ` Neil Horman
2018-12-17 13:19 ` [PATCH 7/7] Drop flex_arrays Kent Overstreet

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