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.