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

From: Stephen Hemminger <[email-masked]>
Date: Fri, 27 Jun 2008 14:32:58 -0700

On Fri, 27 Jun 2008 16:20:10 -0500
"Kiran Kotla" <[email-masked]> wrote:

> 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

If need be you can use a pointer to an allocated array for that (it would be
up to your code to free it).  You might even want to make this per route
rather than per socket. That would require lookup/locking/ref counting, but
it would allow sharing path information when multiple sockets along same
path are present.