Re: [pok-devel] Fixed available memory for QUEUE

[ Thread Index | Date Index | More lists.tuxfamily.org/pok-devel Archives ]


Le Sun, Feb 05, 2012 at 02:38:53PM -0500, Julien Savard :
> Now, if that was correct, my question is the following: Is the 1024 bytes value
> set for a reason? Is it possible to change it for a higher value without
> affecting the behaviour of POK?

Dear Julien,

First of all, I would like to let you know that you don't bother my at
all. On the contrary, you seem to begin to be very familiar with POK and
identify its limits. And as it was designed as a prototype, may things
were not implemented quickly, as the buffer size for inter-partitions
ports.

So, as you noticed, all the ports of all partitions of a node running
POK cannot exceed 1024 bytes. However, the code was written with this
limit in mind. In fact, what can be done to override this issue:
- Define a default POK_PORTS_QUEUE_SIZE macro and set its value to 1024
  We can define such a macro in the middleware/queue.h file.

- The generator of the deployment.[c|h] file set the macro value
  according to the system requirement so that systems configured either
  from AADL models or ARINC653 files are correctly configured.

- Include deployment.h file in middleware/queue.h

- Use the POK_PORTS_QUEUE_SIZE instead of 1024 in the code (such as in
  queueinit.c)

- Make sure that when creating a port, there is enough available size in
  the buffer and that ports that are re-initialized (when a partition is
  restarted for example) free the memmory they used before being
  re-instantiated (or in that case, make sure the re-init process reuse
  the same memory space that is re-initialized).

Hope that clarify that point. If not, do not hesitate to ask any
question.

Best regards,




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/