Skip to Main Content
IBM Z Software


This portal is to open public enhancement requests against IBM Z Software products. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:

Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,

Post your ideas
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

Status Not under consideration
Categories z/TPF
Created by Guest
Created on Oct 22, 2013

maloc enhancements

Improvements need to be make when working with the avl5 list as it deals with fragmentation . Plus additional data collection reports need to be made available to better detect and analysis the issue.
In this case there was an application requesting a 4KB maloc . There was roughly 2.8MB of storage available all in 3k pieces, but none available for the 4k request. .

This is what the dump showed:
Looking at heap buffers in use. There were numerous gaps in heap addresses which indicate available storage but those gaps were all about 3K (x'C08' was most common gap). I found over 950 of these 3K available storage chunks which is about 2.8MB of storage...none of which can be used for a 4KB malloc request.

This fragmentation seems to show up as a pattern:

1.Ask for 4095 or 4096 bytes of heap storage via malloc/calloc/raloc that ends up requiring 4104 bytes (4096+8 byte trailer used for heap corruption detection).

2.4104 bytes is greater than AVL4 size (4096) so request is handled from AVL5 list,
a.If there is nothing on AVL5, a new 1MB frames is allocated to back another MB of heap storage
and 4104 byte chunk is taken from the MB.
b.If there is a large enough AVL5 item, 4104 byte chunk is taken from this item.

3.Allocation is released going back on AVL5 list as 4104 byte item.

4.New request for x'200' or x'348' of heap storage. This request is bumped up to x'400' (AVL3 size = 1024). If there is nothing on AVL3 list, then AVL5 list is checked.

5.The AVL5 list has the 4104 byte allocation to use for this request. AVL5 processing attempts to split the 4104 byte allocation into 2 pieces: the requested 1024 byte piece and remainder (3080 or x'C08' bytes) to be put back on the AVL5 list.

6.However, AVL5 list processing will only break the allocation into 2 pieces if the remainder is large enough to be another AVL5 item. This means it must be greater in size than AVL4 items (4096 bytes). So the entire 4104 byte allocation is returned as the storage for the request for x'200' or x'348' bytes.

7.Ask for another 4095 or 4096 byte allocation and repeat above process....keep using 4104 bytes for x'200' and x'348' byte allocations, depleting the heap of storage.

Idea priority High
  • Guest
    Reply
    |
    Aug 6, 2019

    This RFE did not receive any votes on the 2019 TPFUG ballot. IBM does not intend to implement this in the foreseeable future.
    In addition, mymalloc support was made available with PJ43266 on z/TPF PUT12.

  • Guest
    Reply
    |
    Oct 14, 2015

    Due to processing by IBM, this request was reassigned to have the following updated attributes:
    Brand - Servers and Systems Software
    Product family - z Systems Software
    Product - z/TPF

    For recording keeping, the previous attributes were:
    Brand - WebSphere
    Product family - Transaction Processing
    Product - z/TPF

  • Guest
    Reply
    |
    Jan 13, 2014

    Due to processing by IBM, this request was reassigned to have the following updated attributes:
    Brand - WebSphere
    Product family - Transaction Processing
    Product - z/TPF
    Component - z/TPF

    For recording keeping, the previous attributes were:
    Brand - WebSphere
    Product family - Transaction Processing
    Product - z/TPF
    Component - Runtime