[task #7890] Review heap usage

View: New views
3 Messages — Rating Filter:   Alert me  

[task #7890] Review heap usage

by Oleg Tyshev :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


URL:
  <http://savannah.nongnu.org/task/?7890>

                 Summary: Review heap usage
                 Project: lwIP - A Lightweight TCP/IP stack
            Submitted by: goldsimon
            Submitted on: Mittwoch 26.03.2008 um 08:24
                Category: None
         Should Start On: Mittwoch 26.03.2008 um 00:00
   Should be Finished on: Mittwoch 26.03.2008 um 00:00
                Priority: 5 - Normal
                  Status: None
                 Privacy: Public
        Percent Complete: 0%
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: None
                  Effort: 0.00

    _______________________________________________________

Details:

The idea for this came up in bug #3031: Implement a new fully pool-based pbuf
implementation.

Since PBUF_RAM can already/easily be changed to use pools, we should check
the rest of the stack using mem_malloc directly: Maybe some parts can use
static allocation (dhcp) or dedicated pools...




    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/task/?7890>

_______________________________________________
  Nachricht geschickt von/durch Savannah
  http://savannah.nongnu.org/



_______________________________________________
lwip-devel mailing list
lwip-devel@...
http://lists.nongnu.org/mailman/listinfo/lwip-devel

[task #7890] Review heap usage

by Oleg Tyshev :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Update of task #7890 (project lwip):

                Priority:              5 - Normal => 3 - Low                

    _______________________________________________________

Follow-up Comment #1:

Remaining users of heap (that cannot be configured to use statically
allocated memory) are:
- netdb (16, 36 or 'namelen' of bytes -> 16 up to ~1460 bytes?)
- snmp (16, 32, 28, value_len, array-of-u32_t, len(u8_t) -> anything between
1 and 255 bytes)
- autoip (10 bytes)
- dhcp (? 1 up to ~1460 bytes?)

So, all in all, we have only few occurrences left. I can live with netdb, but
the downside is that for dhcp and snmp, the maximum size is unknown.

For dhcp (since boot_file_name is currently unused (why?)), it would be
enough to have a netif_dhcp which reserves space for a struct dhcp, the
maximum size of options_in and dhcp_msg.

However, for snmp, I'm not sure :-(

Note that I am not interested in 'allocate-once-on-startup' allocations but
only in 'runtime-alloc-and-free' allocations to be able to minimize the heap
size without risking fragmentation.

To regard this as fixed, we can either
- live with all the heap going into statically allocated pools or
- solve dhcp and dig into snmp a bit or
- a bit of both

Is there anyone interested in this except for me? ;-)

    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/task/?7890>

_______________________________________________
  Nachricht geschickt von/durch Savannah
  http://savannah.nongnu.org/



_______________________________________________
lwip-devel mailing list
lwip-devel@...
http://lists.nongnu.org/mailman/listinfo/lwip-devel

[task #7890] Review heap usage

by Oleg Tyshev :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Update of task #7890 (project lwip):

        Percent Complete:                      0% => 10%                    
             Assigned to:                    None => goldsimon              

    _______________________________________________________

Follow-up Comment #2:

Update:
- autoip: doesn't count since it only allocates but doesn't free (memory is
always reused)
- netdb: only allocates one block of memory, could be easily converted to a
memp pool (max name length would need to be configured for that)

Remaining:
- dhcp (struct dhcp could be re-used as in autoip)
- snmp
- netdb -> memp pool

    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/task/?7890>

_______________________________________________
  Nachricht geschickt von/durch Savannah
  http://savannah.nongnu.org/



_______________________________________________
lwip-devel mailing list
lwip-devel@...
http://lists.nongnu.org/mailman/listinfo/lwip-devel