cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
* [Cluster-devel] [PATCHv2 dlm/next 0/5] fs: dlm: receive and mark fixes
@ 2020-09-24 14:31 Alexander Aring
  2020-09-24 14:31 ` [Cluster-devel] [PATCHv2 dlm/next 1/5] fs: dlm: remove lock dependency warning Alexander Aring
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Alexander Aring @ 2020-09-24 14:31 UTC (permalink / raw)
  To: cluster-devel.redhat.com

Hi,

This patch-series contains some improvements for the receive handling
and fixes for really setting per nodeid mark settings. The cluster mark
value becomes now the meaning of default mark value, a per nodeid mark
value will overwrite this mark value only for this node traffic.

- Alex

changes since v2:

- drop patch of rework transmit side:

  After I got some review regarding to performance issues
  with sendmsg()/sendpage() I will drop this patch. And yes [0]
  all branches of tcp sendmsg() will copy except the zerocopy
  branch [1]. However for now zerocopy seems to be very only
  developed for user space thing.

  I changed to a "per dlm message" behaviour to have it easier
  to implement a possible "retransmit" handling to provide that
  dlm can survive a spam of tcp reset messages (tcpkill). However
  I will schedule a different solution when I implement that feature
  later. This solution will hopefully combine to send large page buffers
  and having the possibility to retransmit specific dlm messages of it.
  Unlikely that a retransmit ends in a large page buffer but they
  _should_ be happen very rarely.

- drop patch of release connection with call_rcu:

  This patch makes problems regarding to cleaning up the
  writequeue, according to [2] the call_rcu() callback
  can be invoked by softirq context. We using spin_lock()
  primitives there without _bh(). I came to conclusion it's
  fine as it for now without the transmit handling changes.

- add patch to fix/change skb mark handling:

  Yea, I got finally aware why some mark values wasn't working as
  expected. The cluster mark value will now be used always. If a
  per nodeid mark is specified it will be used instead of the
  default one. I will send another patch for dlm_controld man
  page to update the meaning.

- fix in receive rework patch a con vs othercon regarding to rx_buflen

[0] https://elixir.bootlin.com/linux/v5.9-rc6/source/net/ipv4/tcp.c#L1315
[1] https://elixir.bootlin.com/linux/v5.9-rc6/source/net/ipv4/tcp.c#L1359
[2] https://www.kernel.org/doc/Documentation/RCU/whatisRCU.txt

Alexander Aring (5):
  fs: dlm: remove lock dependency warning
  fs: dlm: fix mark per nodeid setting
  fs: dlm: handle range check as callback
  fs: dlm: disallow buffer size below default
  fs: dlm: rework receive handling

 fs/dlm/config.c   |  63 +++++++++------
 fs/dlm/config.h   |   4 +-
 fs/dlm/lowcomms.c | 197 ++++++++++++++++++++++------------------------
 fs/dlm/midcomms.c | 136 +++++++++++++-------------------
 fs/dlm/midcomms.h |   3 +-
 5 files changed, 188 insertions(+), 215 deletions(-)

-- 
2.26.2



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

end of thread, other threads:[~2020-09-24 14:31 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-24 14:31 [Cluster-devel] [PATCHv2 dlm/next 0/5] fs: dlm: receive and mark fixes Alexander Aring
2020-09-24 14:31 ` [Cluster-devel] [PATCHv2 dlm/next 1/5] fs: dlm: remove lock dependency warning Alexander Aring
2020-09-24 14:31 ` [Cluster-devel] [PATCHv2 dlm/next 2/5] fs: dlm: fix mark per nodeid setting Alexander Aring
2020-09-24 14:31 ` [Cluster-devel] [PATCHv2 dlm/next 3/5] fs: dlm: handle range check as callback Alexander Aring
2020-09-24 14:31 ` [Cluster-devel] [PATCHv2 dlm/next 4/5] fs: dlm: disallow buffer size below default Alexander Aring
2020-09-24 14:31 ` [Cluster-devel] [PATCHv2 dlm/next 5/5] fs: dlm: rework receive handling Alexander Aring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).