Skip to content

tipc: make use of kernel threads to simplify things

Paul Gortmaker netdev 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest16 patches 3 repliesIn review
  2. v112 patches 15 repliesSuperseded

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/16tipc: update code comments to reflect new uapi header pathinclude/uapi/linux/tipc.h include/uapi/linux/tipc_config.h+2 -21 reply
2/16tipc: change socket buffer overflow control to respect sk_rcvbufDocumentation/sysctl/net.txt net/tipc/Makefile net/tipc/core.c +4 more+112 -121 reply
3/16tipc: allow implicit connect for stream socketsnet/tipc/socket.c+2 -40 replies
4/16tipc: introduce new TIPC server infrastructurenet/tipc/Makefile net/tipc/core.h net/tipc/server.c +2 more+789 -100 replies
5/16tipc: convert topology server to use new server facilitynet/tipc/core.c net/tipc/socket.c net/tipc/subscr.c +1 more+104 -2470 replies
6/16tipc: convert configuration server to use new server facilitynet/tipc/config.c net/tipc/core.c net/tipc/socket.c+49 -600 replies
7/16tipc: delete code orphaned by new server infrastructurenet/tipc/link.c net/tipc/port.c net/tipc/port.h+3 -3850 replies
8/16tipc: remove user_port instance from tipc_port structurenet/tipc/link.c net/tipc/msg.c net/tipc/msg.h +2 more+17 -420 replies
9/16tipc: rename tipc_createport_raw to tipc_createportnet/tipc/port.c net/tipc/port.h net/tipc/socket.c+5 -50 replies
10/16tipc: convert config_lock from spinlock to mutexnet/tipc/config.c+3 -140 replies
11/16tipc: save sock structure pointer instead of void pointer to tipc_portnet/tipc/port.c net/tipc/port.h net/tipc/socket.c+7 -70 replies
12/16tipc: cosmetic realignment of function argumentsnet/tipc/bcast.c net/tipc/bcast.h net/tipc/discover.c +12 more+54 -660 replies
13/16tipc: enhance priority of link protocol packetnet/tipc/link.c+3 -00 replies
14/16tipc: make tipc_link_send_sections_fast exit earliernet/tipc/link.c+3 -40 replies
15/16tipc: fix wrong return value for link_send_sections_long routinenet/tipc/link.c+6 -20 replies
16/16tipc: remove dev_base_lock use from enable_bearernet/tipc/eth_media.c net/tipc/ib_media.c+4 -220 replies

Reviews trailers per patch

1 of 16 patches has a Reviewed-by or Acked-by.

PatchJon MaloyNeil Horman
1/16
2/16Originally-by A-b
3/16
4/16
5/16
6/16
7/16
8/16
9/16
10/16
11/16
12/16
13/16
14/16
15/16
16/16

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

Cover letter [PATCH v2 net-next 00/16] tipc: make use of kernel threads to simplify things

This is a rework of the content sent earlier[1], with the following changes:

-drop the Kconfig --> modparam conversion patch; this was
requested to be replaced[2] with a dynamic port quantity resizing. Ying and Erik were discussing how best to achieve this, and then vacation schedules got in the way, so implementing that will come (hopefully) in the next round.

-rework the sk_rcvbuf patch to allow memory resizing via sysctl
as per what Ying and Neil discussed[3]

-add 4 more seemingly straigtforward and relatively small changes
from Ying (the last 4 in the series).

-add cosmetic UAPI comment update patch from Ying.

That said, the largest change is still the one where we make use of the fact that linux supports kernel threads and do the server like operations within kernel threads. As Jon says:

We remove the last remnants of the TIPC native API, to make it possible to simplify locking policy and solve a problem with lost topology events.

First, we introduce a socket-based alternative to the native API.

Second, we convert the two remaining users of the native API, the TIPC internal topology server and the configuarion server, to use the new API.

Third, we remove the remaining code pertaining to the native API.

I have re-tested this collection of commits between 32 and 64 bit x86 machines using the standard tipc test suite, and build tested for ppc.

[1] http://patchwork.ozlabs.org/patch/247687/
[2] http://patchwork.ozlabs.org/patch/247680/
[3] http://patchwork.ozlabs.org/patch/247688/

Thanks,
Paul.
---
Cc: Neil Horman <[email protected]>

The following changes since commit 2e0c9e7911465b29daf85f7de97949004bf7b31c:

net: sctp: sctp_association_init: put refs in reverse order (2013-06-14 15:38:36 -0700)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux.git tipc_net-next

for you to fetch changes up to d4e1208e0e85255c644160be879e6f2d0b6bdcf9:

tipc: remove dev_base_lock use from enable_bearer (2013-06-17 10:13:30 -0400)

----------------------------------------------------------------
Erik Hugne (1):
tipc: allow implicit connect for stream sockets

Paul Gortmaker (1):
tipc: cosmetic realignment of function arguments

Ying Xue (14):
tipc: update code comments to reflect new uapi header path
tipc: change socket buffer overflow control to respect sk_rcvbuf
tipc: introduce new TIPC server infrastructure
tipc: convert topology server to use new server facility
tipc: convert configuration server to use new server facility
tipc: delete code orphaned by new server infrastructure
tipc: remove user_port instance from tipc_port structure
tipc: rename tipc_createport_raw to tipc_createport
tipc: convert config_lock from spinlock to mutex
tipc: save sock structure pointer instead of void pointer to tipc_port
tipc: enhance priority of link protocol packet
tipc: make tipc_link_send_sections_fast exit earlier
tipc: fix wrong return value for link_send_sections_long routine
tipc: remove dev_base_lock use from enable_bearer

 Documentation/sysctl/net.txt     |  17 +-
 include/uapi/linux/tipc.h        |   2 +-
 include/uapi/linux/tipc_config.h |   2 +-
 net/tipc/Makefile                |   3 +-
 net/tipc/bcast.c                 |   3 +-
 net/tipc/bcast.h                 |   3 +-
 net/tipc/config.c                | 119 ++++----
 net/tipc/core.c                  |  22 +-
 net/tipc/core.h                  |  17 +-
 net/tipc/discover.c              |   7 +-
 net/tipc/eth_media.c             |  15 +-
 net/tipc/ib_media.c              |  13 +-
 net/tipc/link.c                  |  88 ++----
 net/tipc/msg.c                   |  19 +-
 net/tipc/msg.h                   |   8 +-
 net/tipc/name_table.c            |  10 +-
 net/tipc/name_table.h            |  11 +-
 net/tipc/node_subscr.c           |   2 +-
 net/tipc/port.c                  | 320 +--------------------
 net/tipc/port.h                  |  85 +-----
 net/tipc/server.c                | 596 +++++++++++++++++++++++++++++++++++++++
 net/tipc/server.h                |  94 ++++++
 net/tipc/socket.c                | 146 ++++++++--
 net/tipc/subscr.c                | 348 +++++++----------------
 net/tipc/subscr.h                |  21 +-
 net/tipc/sysctl.c                |  64 +++++
 26 files changed, 1158 insertions(+), 877 deletions(-)
 create mode 100644 net/tipc/server.c
 create mode 100644 net/tipc/server.h
 create mode 100644 net/tipc/sysctl.c