* Re: setting ICSK_CA_PRIV_SIZE larger than 16 * sizeof(u32)
[not found] <965f530d0806270137y19c36638yc6ae0a1d4bfa63e7@mail.gmail.com>
@ 2008-06-27 9:30 ` David Miller
2008-06-27 21:20 ` Kiran Kotla
0 siblings, 1 reply; 3+ messages in thread
From: David Miller @ 2008-06-27 9:30 UTC (permalink / raw)
To: kotlakiran; +Cc: linux-kernel, netdev
From: "Kiran Kotla" <kotlakiran@gmail.com>
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.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: setting ICSK_CA_PRIV_SIZE larger than 16 * sizeof(u32)
2008-06-27 9:30 ` setting ICSK_CA_PRIV_SIZE larger than 16 * sizeof(u32) David Miller
@ 2008-06-27 21:20 ` Kiran Kotla
2008-06-27 21:32 ` Stephen Hemminger
0 siblings, 1 reply; 3+ messages in thread
From: Kiran Kotla @ 2008-06-27 21:20 UTC (permalink / raw)
To: David Miller; +Cc: linux-kernel, netdev
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@davemloft.net> wrote:
> From: "Kiran Kotla" <kotlakiran@gmail.com>
> 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.
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: setting ICSK_CA_PRIV_SIZE larger than 16 * sizeof(u32)
2008-06-27 21:20 ` Kiran Kotla
@ 2008-06-27 21:32 ` Stephen Hemminger
0 siblings, 0 replies; 3+ messages in thread
From: Stephen Hemminger @ 2008-06-27 21:32 UTC (permalink / raw)
To: Kiran Kotla; +Cc: David Miller, linux-kernel, netdev
On Fri, 27 Jun 2008 16:20:10 -0500
"Kiran Kotla" <kotlakiran@gmail.com> 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.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-06-27 21:33 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <965f530d0806270137y19c36638yc6ae0a1d4bfa63e7@mail.gmail.com>
2008-06-27 9:30 ` setting ICSK_CA_PRIV_SIZE larger than 16 * sizeof(u32) David Miller
2008-06-27 21:20 ` Kiran Kotla
2008-06-27 21:32 ` Stephen Hemminger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).