Thread (21 messages) 21 messages, 5 authors, 2025-09-29

Re: [PATCH net-next v3 13/14] dibs: Move data path to dibs layer: manual merge

From: Sidraya Jayagond <sidraya@linux.ibm.com>
Date: 2025-09-25 06:07:15
Also in: linux-rdma, linux-s390


On 24/09/25 2:37 pm, Matthieu Baerts wrote:
Hi Alexandra, Sidraya,

On 18/09/2025 12:04, Alexandra Winter wrote:
quoted
Use struct dibs_dmb instead of struct smc_dmb and move the corresponding
client tables to dibs_dev. Leave driver specific implementation details
like sba in the device drivers.

Register and unregister dmbs via dibs_dev_ops. A dmb is dedicated to a
single client, but a dibs device can have dmbs for more than one client.

Trigger dibs clients via dibs_client_ops->handle_irq(), when data is
received into a dmb. For dibs_loopback replace scheduling an smcd receive
tasklet with calling dibs_client_ops->handle_irq().

For loopback devices attach_dmb(), detach_dmb() and move_data() need to
access the dmb tables, so move those to dibs_dev_ops in this patch as well.

Remove remaining definitions of smc_loopback as they are no longer
required, now that everything is in dibs_loopback.

Note that struct ism_client and struct ism_dev are still required in smc
until a follow-on patch moves event handling to dibs. (Loopback does not
use events).
FYI, we got a conflict when merging 'net' in 'net-next' in the MPTCP
tree due to this patch applied in 'net':

  a35c04de2565 ("net/smc: fix warning in smc_rx_splice() when calling
get_page()")

and this one from 'net-next':

  cc21191b584c ("dibs: Move data path to dibs layer")

----- Generic Message -----
The best is to avoid conflicts between 'net' and 'net-next' trees but if
they cannot be avoided when preparing patches, a note about how to fix
them is much appreciated.
The conflict has been resolved on our side[1] and the resolution we
suggest is attached to this email. Please report any issues linked to
this conflict resolution as it might be used by others. If you worked on
the mentioned patches, don't hesitate to ACK this conflict resolution.
---------------------------

Regarding this conflict, I hope the resolution is correct. The patch
from 'net' was modifying 'net/smc/smc_loopback.c' in
smc_lo_register_dmb() and __smc_lo_unregister_dmb(). I applied the same
modifications in 'drivers/dibs/dibs_loopback.c', in
dibs_lo_register_dmb() and __dibs_lo_unregister_dmb(). In net-next,
kfree(cpu_addr) was used instead of kvfree(cpu_addr), but this was done
on purpose. Also, I had to include mm.h to be able to build this driver.
I also attached a simple diff of the modifications I did.

Does that look OK to both of you?

Note: no rerere cache is available for this kind of conflicts.

Cheers,
Matt

[1] https://github.com/multipath-tcp/mptcp_net-next/commit/af2dbdbb0a91
Acked-by: Sidraya Jayagond <sidraya@linux.ibm.com>

LGTM, thank you Matthieu.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help