Re: [PATCHv2 net-next 04/12] sctp: implement make_datafrag for sctp_stream_interleave

2017-12-08 Thread 'Marcelo Ricardo Leitner'
On Fri, Dec 08, 2017 at 11:08:56AM -0500, Neil Horman wrote: > On Fri, Dec 08, 2017 at 04:04:58PM +, David Laight wrote: > > From: Marcelo Ricardo Leitner > > > Sent: 08 December 2017 16:00 > > ... > > > > Is it worth replacing the si struct with an index/enum value, and > > > > indexing an >

Re: [PATCHv2 net-next 04/12] sctp: implement make_datafrag for sctp_stream_interleave

2017-12-08 Thread Xin Long
On Sat, Dec 9, 2017 at 1:29 AM, David Laight wrote: > From: Xin Long ... >> Hi, David, Sorry, I'm not sure we're worrying about the cpu cost or >> codes style now ? >> >> For cpu cost, I think 0x848(%r13) operation must be better than the >> generated code of if-else. >

RE: [PATCHv2 net-next 04/12] sctp: implement make_datafrag for sctp_stream_interleave

2017-12-08 Thread David Laight
From: Xin Long ... > Hi, David, Sorry, I'm not sure we're worrying about the cpu cost or > codes style now ? > > For cpu cost, I think 0x848(%r13) operation must be better than the > generated code of if-else. Nope - the call xxx(%ryyy) is likely to be a data cache miss and a complete cpu

Re: [PATCHv2 net-next 04/12] sctp: implement make_datafrag for sctp_stream_interleave

2017-12-08 Thread Xin Long
On Sat, Dec 9, 2017 at 12:22 AM, David Laight wrote: > From: Xin Long >> Sent: 08 December 2017 16:18 >> > ... >> >> Alternatively you could preform the dereference in two steps (i.e. >> >> declare an si >> >> pointer on the stack and set it equal to asoc->stream.si,

RE: [PATCHv2 net-next 04/12] sctp: implement make_datafrag for sctp_stream_interleave

2017-12-08 Thread David Laight
From: Xin Long > Sent: 08 December 2017 16:18 > ... > >> Alternatively you could preform the dereference in two steps (i.e. declare > >> an si > >> pointer on the stack and set it equal to asoc->stream.si, then deref > >> si->make_datafrag at call time. That will at least give the compiler an >

Re: [PATCHv2 net-next 04/12] sctp: implement make_datafrag for sctp_stream_interleave

2017-12-08 Thread Xin Long
On Sat, Dec 9, 2017 at 12:00 AM, Marcelo Ricardo Leitner wrote: > On Fri, Dec 08, 2017 at 10:37:34AM -0500, Neil Horman wrote: >> On Fri, Dec 08, 2017 at 12:56:30PM -0200, Marcelo Ricardo Leitner wrote: >> > On Fri, Dec 08, 2017 at 02:06:04PM +, David Laight wrote:

Re: [PATCHv2 net-next 04/12] sctp: implement make_datafrag for sctp_stream_interleave

2017-12-08 Thread Neil Horman
On Fri, Dec 08, 2017 at 04:04:58PM +, David Laight wrote: > From: Marcelo Ricardo Leitner > > Sent: 08 December 2017 16:00 > ... > > > Is it worth replacing the si struct with an index/enum value, and > > > indexing an > > > array of method pointer structs? That would save you at least one

RE: [PATCHv2 net-next 04/12] sctp: implement make_datafrag for sctp_stream_interleave

2017-12-08 Thread David Laight
From: Marcelo Ricardo Leitner > Sent: 08 December 2017 16:00 ... > > Is it worth replacing the si struct with an index/enum value, and indexing > > an > > array of method pointer structs? That would save you at least one > > dereference. > > Hmmm, maybe, yes. It would be like >

Re: [PATCHv2 net-next 04/12] sctp: implement make_datafrag for sctp_stream_interleave

2017-12-08 Thread 'Marcelo Ricardo Leitner'
On Fri, Dec 08, 2017 at 03:32:54PM +, David Laight wrote: > From: 'Marcelo Ricardo Leitner' > > Sent: 08 December 2017 15:16 > > On Fri, Dec 08, 2017 at 03:01:31PM +, David Laight wrote: > > > From: Marcelo Ricardo Leitner > > > > Sent: 08 December 2017 14:57 > > > > > > > > On Fri, Dec

Re: [PATCHv2 net-next 04/12] sctp: implement make_datafrag for sctp_stream_interleave

2017-12-08 Thread Marcelo Ricardo Leitner
On Fri, Dec 08, 2017 at 10:37:34AM -0500, Neil Horman wrote: > On Fri, Dec 08, 2017 at 12:56:30PM -0200, Marcelo Ricardo Leitner wrote: > > On Fri, Dec 08, 2017 at 02:06:04PM +, David Laight wrote: > > > From: Xin Long > > > > Sent: 08 December 2017 13:04 > > > ... > > > > @@ -264,8 +264,8 @@

Re: [PATCHv2 net-next 04/12] sctp: implement make_datafrag for sctp_stream_interleave

2017-12-08 Thread Neil Horman
On Fri, Dec 08, 2017 at 12:56:30PM -0200, Marcelo Ricardo Leitner wrote: > On Fri, Dec 08, 2017 at 02:06:04PM +, David Laight wrote: > > From: Xin Long > > > Sent: 08 December 2017 13:04 > > ... > > > @@ -264,8 +264,8 @@ struct sctp_datamsg *sctp_datamsg_from_user(struct > > >

RE: [PATCHv2 net-next 04/12] sctp: implement make_datafrag for sctp_stream_interleave

2017-12-08 Thread David Laight
From: 'Marcelo Ricardo Leitner' > Sent: 08 December 2017 15:16 > On Fri, Dec 08, 2017 at 03:01:31PM +, David Laight wrote: > > From: Marcelo Ricardo Leitner > > > Sent: 08 December 2017 14:57 > > > > > > On Fri, Dec 08, 2017 at 02:06:04PM +, David Laight wrote: > > > > From: Xin Long > > >

Re: [PATCHv2 net-next 04/12] sctp: implement make_datafrag for sctp_stream_interleave

2017-12-08 Thread 'Marcelo Ricardo Leitner'
On Fri, Dec 08, 2017 at 03:01:31PM +, David Laight wrote: > From: Marcelo Ricardo Leitner > > Sent: 08 December 2017 14:57 > > > > On Fri, Dec 08, 2017 at 02:06:04PM +, David Laight wrote: > > > From: Xin Long > > > > Sent: 08 December 2017 13:04 > > > ... > > > > @@ -264,8 +264,8 @@

RE: [PATCHv2 net-next 04/12] sctp: implement make_datafrag for sctp_stream_interleave

2017-12-08 Thread David Laight
From: Marcelo Ricardo Leitner > Sent: 08 December 2017 14:57 > > On Fri, Dec 08, 2017 at 02:06:04PM +, David Laight wrote: > > From: Xin Long > > > Sent: 08 December 2017 13:04 > > ... > > > @@ -264,8 +264,8 @@ struct sctp_datamsg *sctp_datamsg_from_user(struct > > > sctp_association *asoc,

Re: [PATCHv2 net-next 04/12] sctp: implement make_datafrag for sctp_stream_interleave

2017-12-08 Thread Marcelo Ricardo Leitner
On Fri, Dec 08, 2017 at 02:06:04PM +, David Laight wrote: > From: Xin Long > > Sent: 08 December 2017 13:04 > ... > > @@ -264,8 +264,8 @@ struct sctp_datamsg *sctp_datamsg_from_user(struct > > sctp_association *asoc, > > frag |= SCTP_DATA_SACK_IMM; > >

RE: [PATCHv2 net-next 04/12] sctp: implement make_datafrag for sctp_stream_interleave

2017-12-08 Thread David Laight
From: Xin Long > Sent: 08 December 2017 13:04 ... > @@ -264,8 +264,8 @@ struct sctp_datamsg *sctp_datamsg_from_user(struct > sctp_association *asoc, > frag |= SCTP_DATA_SACK_IMM; > } > > - chunk = sctp_make_datafrag_empty(asoc, sinfo, len,