Re: [PATCH 7/8]: Handle timestamps on Request/Response exchange separately

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

 



Quoting Arnaldo Carvalho de Melo:
|  I suggest it to become:
|  
|  [acme@mica net-2.6.24]$ pahole -C dccp_request_sock net/dccp/minisocks.o
|  
|  struct dccp_request_sock {
|          struct inet_request_sock dreq_inet_rsk;    /*  0 56 */
|          __u64                    dreq_iss;         /* 56  8 */
|          /* --- cacheline 1 boundary (64 bytes) --- */
|          __u64                    dreq_isr;         /* 64  8 */
|          __be32                   dreq_service;     /* 72  4 */
|          __u32                    dreq_tstamp_echo; /* 76  4 */
|          ktime_t                  dreq_tstamp_time; /* 80  8 */
|  
|          /* size: 88, cachelines: 2 */
|          /* last cacheline: 24 bytes */
|  };
|  
|  Humm, these minisocks are getting fat... another thing for my TODO list,
|  request_sock::ts_recent seems to be used only by the TCP machinery, ripe
|  for the picking....

I have thought about this: do you think the following solution is better -
the difference between kmallocing and fixed is now between pointer to struct
and u64 (ktime_t).


struct dccp_request_sock {
        struct inet_request_sock	dreq_inet_rsk;
	__u64                    	dreq_iss,
				 	dreq_isr; 
	__be32                   	dreq_service;
#define dreq_tstamp_echo		dreq_inet_rsk.req.ts_recent 
	ktime_t                  	dreq_tstamp_time;
};


The only other thing that is required is then to change the insertion routine to

dccp_insert_option_timestamp_echo(struct sock *sk, struct dccp_request_sock *dreq,
                                  struct sk_buff *skb);
				  /* when @dreq is NULL, @sk is used */



On another note I think that the CCID2 code could benefit from using such timestamps also, in particular
for high-speed networks.
-
To unsubscribe from this list: send the line "unsubscribe dccp" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [IETF DCCP]     [Linux Networking]     [Git]     [Security]     [Linux Assembly]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux