Subject: Re: [PATCH 2/4] datagram: mem_scheudle functions

From: Hideo AOKI <[email-masked]>
Date: Mon, 03 Dec 2007 19:10:45 -0500

Herbert Xu wrote:
> On Wed, Nov 28, 2007 at 01:52:59PM -0500, Hideo AOKI wrote:
>> +static inline int sk_wmem_schedule(struct sock *sk, int size)
>> +{
>> +	if (sk->sk_type == SOCK_STREAM)
>> +		return sk_stream_wmem_schedule(sk, size);
>> +	else if (sk->sk_type == SOCK_DGRAM)
>> +		return sk_datagram_wmem_schedule(sk, size);
>> +	else
>> +		return 1;
>> +}
> 
> Why do we need this function? As far as I can see we always know
> whether it's a stream or datagram socket at compile time so doing
> a run-time test is pointless.

Because we have to call wmem_schedule function in ip_append_data()
which is used by several protocols both stream and datagram.
I just thought adding the sk_wmem_schedule() was only way to call
proper function from ip_append_data().

Please let me know if I misunderstand or there is better way to
call wmem_schedule functions.

Best regards,
Hideo

-- 
Hitachi Computer Products (America) Inc.