Re: [PATCH net 1/6] sctp: remove the unnecessary state check in sctp_outq_tail

2016-09-13 Thread Xin Long
> > I also don't see an issue with this patch, btw. > > Xin, you may want to add more/such details to the changelog, specially > about the timer versus primitive handling. > OK, I will post v2 of this patchset.

Re: [PATCH net 1/6] sctp: remove the unnecessary state check in sctp_outq_tail

2016-09-13 Thread Neil Horman
On Sat, Sep 10, 2016 at 12:03:53AM +0800, Xin Long wrote: > > I don't know, I still don't feel safe about it. I agree the socket lock > > keeps > > the state from changing during a single transmission, which makes the use > > case > > you are focused on correct. > ok, :-) > > > > > That said,

Re: [PATCH net 1/6] sctp: remove the unnecessary state check in sctp_outq_tail

2016-09-12 Thread Marcelo Ricardo Leitner
On Sat, Sep 10, 2016 at 12:03:53AM +0800, Xin Long wrote: > > That said, have you considered the retransmit case? That is to say, if you > > queue and flush the outq, and some packets fail delivery, and in the time > > between the intial send and the expiration of the RTX timer (during which > >

Re: [PATCH net 1/6] sctp: remove the unnecessary state check in sctp_outq_tail

2016-09-09 Thread Xin Long
> I don't know, I still don't feel safe about it. I agree the socket lock keeps > the state from changing during a single transmission, which makes the use case > you are focused on correct. ok, :-) > > That said, have you considered the retransmit case? That is to say, if you > queue and flush

Re: [PATCH net 1/6] sctp: remove the unnecessary state check in sctp_outq_tail

2016-09-09 Thread Neil Horman
On Fri, Sep 09, 2016 at 03:11:57PM +0800, Xin Long wrote: > >> > > Its not enough to just look at the paths where outq_tail is called, because > > the outq_tail function is checking a state variable that can update > > asynchronously in the side effect processing queue. Look at any one of the > >

Re: [PATCH net 1/6] sctp: remove the unnecessary state check in sctp_outq_tail

2016-09-09 Thread Xin Long
>> > Its not enough to just look at the paths where outq_tail is called, because > the outq_tail function is checking a state variable that can update > asynchronously in the side effect processing queue. Look at any one of the > timer functions. Those all fire asynchronous to the outq list, but

Re: [PATCH net 1/6] sctp: remove the unnecessary state check in sctp_outq_tail

2016-09-08 Thread Neil Horman
On Fri, Sep 09, 2016 at 01:34:05AM +0800, Xin Long wrote: > >> Data Chunks are only sent by sctp_primitive_SEND, in which sctp checks > >> the asoc's state through statetable before calling sctp_outq_tail. So > >> there's no need to do it again in sctp_outq_tail. > >> > >> This patch is to remove

Re: [PATCH net 1/6] sctp: remove the unnecessary state check in sctp_outq_tail

2016-09-08 Thread Xin Long
>> Data Chunks are only sent by sctp_primitive_SEND, in which sctp checks >> the asoc's state through statetable before calling sctp_outq_tail. So >> there's no need to do it again in sctp_outq_tail. >> >> This patch is to remove it from sctp_outq_tail. >> >> Signed-off-by: Xin Long

Re: [PATCH net 1/6] sctp: remove the unnecessary state check in sctp_outq_tail

2016-09-08 Thread Neil Horman
On Thu, Sep 08, 2016 at 05:31:45PM +0800, Xin Long wrote: > Data Chunks are only sent by sctp_primitive_SEND, in which sctp checks > the asoc's state through statetable before calling sctp_outq_tail. So > there's no need to do it again in sctp_outq_tail. > > This patch is to remove it from