Re: setting ICSK_CA_PRIV_SIZE larger than 16 * sizeof(u32)

From: Kiran Kotla
Date: Fri Jun 27 2008 - 17:20:35 EST


Hi david,

Thank you very much for your response. I am new to this forum and not
sure if I could include you in my reply.

Well, we tried our best to reduce the size of our private variables.

The major consumers of space however are two arrays of 32 bit integers
each of size '8', which are used to estimate drop probability and
early congestion response probability (our protocol specific), which
cannot be reduced to be 16 bit integers and further the size of the
array cannot be reduced to some value lesser without degrading the
estimation of drop probability.

I guess the only way left is to have a trade-off between the
performance of our protocol and size of the array.

In any case, I was wondering if still there is a way to increase the
size of the blob, though we would not to increase the size of blob to
get our protocol running in the kernel.

Thanks again!
Kiran

On Fri, Jun 27, 2008 at 4:30 AM, David Miller <davem@xxxxxxxxxxxxx> wrote:
> From: "Kiran Kotla" <kotlakiran@xxxxxxxxx>
> Date: Fri, 27 Jun 2008 03:37:59 -0500
>
> [ Changed linux-net to netdev. linux-net is for user questions,
> netdev is for development discussion... ]
>
>> The only other option we have to get the kernel running with our
>> protocol is to reduce the number of private variables and this is not
>> possible without affecting the behavior of our protocol.
>
> I severely doubt this. 25 32-bit state variables is just way
> over the top.
>
> Don't give up so easily. Maybe some values can be 16-bit instead
> of 32-bit.
>
> Perhaps pairs of two odd-sized values can be encoded into a single
> 32-bit (one is 7 bits, the other is <= 25 bits).
>
> Get creative.
>
> I'm going to be very much an asshole about making that blob any
> bigger, because it means every single socket in the kernel will get
> bigger even if they don't use your congestion control algorithm.
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/