Search Linux Wireless

Re: [PATCH net-next v6 04/13] net: wwan: t7xx: Add port proxy infrastructure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 27, 2022 at 4:14 AM Veleta, Moises <moises.veleta@xxxxxxxxx> wrote:
> From: Sergey Ryazanov <ryazanov.s.a@xxxxxxxxx>
> Sent: Tuesday, April 26, 2022 4:06 PM
> To: Veleta, Moises <moises.veleta@xxxxxxxxx>
> Cc: Ricardo Martinez <ricardo.martinez@xxxxxxxxxxxxxxx>; netdev@xxxxxxxxxxxxxxx <netdev@xxxxxxxxxxxxxxx>; linux-wireless@xxxxxxxxxxxxxxx <linux-wireless@xxxxxxxxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx>; David Miller <davem@xxxxxxxxxxxxx>; Johannes Berg <johannes@xxxxxxxxxxxxxxxx>; Loic Poulain <loic.poulain@xxxxxxxxxx>; Kumar, M Chetan <m.chetan.kumar@xxxxxxxxx>; Devegowda, Chandrashekar <chandrashekar.devegowda@xxxxxxxxx>; linuxwwan <linuxwwan@xxxxxxxxx>; chiranjeevi.rapolu@xxxxxxxxxxxxxxx <chiranjeevi.rapolu@xxxxxxxxxxxxxxx>; Liu, Haijun <haijun.liu@xxxxxxxxxxxx>; Hanania, Amir <amir.hanania@xxxxxxxxx>; Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>; Sharma, Dinesh <dinesh.sharma@xxxxxxxxx>; Lee, Eliot <eliot.lee@xxxxxxxxx>; Jarvinen, Ilpo Johannes <ilpo.johannes.jarvinen@xxxxxxxxx>; Bossart, Pierre-louis <pierre-louis.bossart@xxxxxxxxx>; Sethuraman, Muralidharan <muralidharan.sethuraman@xxxxxxxxx>; Mishra, Soumya Prakash <soumya.prakash.mishra@xxxxxxxxx>; Kancharla, Sreehari <sreehari.kancharla@xxxxxxxxx>; Sahu, Madhusmita <madhusmita.sahu@xxxxxxxxx>
> Subject: Re: [PATCH net-next v6 04/13] net: wwan: t7xx: Add port proxy infrastructure
>
> Hello Moises,
>
> On Tue, Apr 26, 2022 at 10:46 PM Veleta, Moises <moises.veleta@xxxxxxxxx> wrote:
>> From: Sergey Ryazanov <ryazanov.s.a@xxxxxxxxx>
>> Sent: Monday, April 25, 2022 4:53 PM
>> To: Ricardo Martinez <ricardo.martinez@xxxxxxxxxxxxxxx>
>> Cc: netdev@xxxxxxxxxxxxxxx <netdev@xxxxxxxxxxxxxxx>; linux-wireless@xxxxxxxxxxxxxxx <linux-wireless@xxxxxxxxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx>; David Miller <davem@xxxxxxxxxxxxx>; Johannes Berg <johannes@xxxxxxxxxxxxxxxx>; Loic Poulain <loic.poulain@xxxxxxxxxx>; Kumar, M Chetan <m.chetan.kumar@xxxxxxxxx>; Devegowda, Chandrashekar <chandrashekar.devegowda@xxxxxxxxx>; linuxwwan <linuxwwan@xxxxxxxxx>; chiranjeevi.rapolu@xxxxxxxxxxxxxxx <chiranjeevi.rapolu@xxxxxxxxxxxxxxx>; Liu, Haijun <haijun.liu@xxxxxxxxxxxx>; Hanania, Amir <amir.hanania@xxxxxxxxx>; Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>; Sharma, Dinesh <dinesh.sharma@xxxxxxxxx>; Lee, Eliot <eliot.lee@xxxxxxxxx>; Jarvinen, Ilpo Johannes <ilpo.johannes.jarvinen@xxxxxxxxx>; Veleta, Moises <moises.veleta@xxxxxxxxx>; Bossart, Pierre-louis <pierre-louis.bossart@xxxxxxxxx>; Sethuraman, Muralidharan <muralidharan.sethuraman@xxxxxxxxx>; Mishra, Soumya Prakash <soumya.prakash.mishra@xxxxxxxxx>; Kancharla, Sreehari <sreehari.kancharla@xxxxxxxxx>; Sahu, Madhusmita <madhusmita.sahu@xxxxxxxxx>
>> Subject: Re: [PATCH net-next v6 04/13] net: wwan: t7xx: Add port proxy infrastructure
>>
>> On Fri, Apr 8, 2022 at 1:37 AM Ricardo Martinez
>> <ricardo.martinez@xxxxxxxxxxxxxxx> wrote:
>>> Port-proxy provides a common interface to interact with different types
>>> of ports. Ports export their configuration via `struct t7xx_port` and
>>> operate as defined by `struct port_ops`.
>>>
>>> Signed-off-by: Haijun Liu <haijun.liu@xxxxxxxxxxxx>
>>> Co-developed-by: Chandrashekar Devegowda <chandrashekar.devegowda@xxxxxxxxx>
>>> Signed-off-by: Chandrashekar Devegowda <chandrashekar.devegowda@xxxxxxxxx>
>>> Co-developed-by: Ricardo Martinez <ricardo.martinez@xxxxxxxxxxxxxxx>
>>> Signed-off-by: Ricardo Martinez <ricardo.martinez@xxxxxxxxxxxxxxx>
>>>
>>> From a WWAN framework perspective:
>>> Reviewed-by: Loic Poulain <loic.poulain@xxxxxxxxxx>
>>
>> [skipped]
>>
>>> +int t7xx_port_enqueue_skb(struct t7xx_port *port, struct sk_buff *skb)
>>> +{
>>> +       unsigned long flags;
>>> +
>>> +       spin_lock_irqsave(&port->rx_wq.lock, flags);
>>> +       if (port->rx_skb_list.qlen >= port->rx_length_th) {
>>> +               spin_unlock_irqrestore(&port->rx_wq.lock, flags);
>>
>> Probably skb should be freed here before returning. The caller assumes
>> that skb will be consumed even in case of error.
>>
>> [MV] We do not drop port ctrl messages. We keep them and try again later.
>> Whereas WWAN skbs are dropped if conditions are met.
>
> I missed that the WWAN port returns no error when it drops the skb.
> And then I concluded that any failure to process the CCCI message
> should be accomplished with the skb freeing. Now the handling of CCCI
> messages is more clear to me. Thank you for the clarifications!
>
> To avoid similar misinterpretation in the future, I thought that the
> skb freeing in the WWAN port worth a comment. Something to describe
> that despite dropping the message, the return code is zero, indicating
> skb consumption. Similarly in this (t7xx_port_enqueue_skb) function.
> Something like: "return an error here, the caller will try again
> later". And maybe in t7xx_cldma_gpd_rx_from_q() near the loop break
> after the .skb_recv() failure test. Something like: "break message
> processing for now will try this message later".
>
> What do you think?
>
> Yes, that would remove the unintended obfuscation . Unless, you think this approach is inappropriate
> and should be refactored.  Otherwise, I will proceed with adding those clarifying comments.
> Thank you.

I am Ok with the current approach. It does not contain obvious errors.
It might look puzzled, but proper comments should solve this.

-- 
Sergey




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux