Data Access API - Changes

Below is a list of changes made to ll_get_data, I believe it is reasonably accurate, but there are problems with it. IBM does at times back port functionality, so some parameters seem to bounce in and out of the llapi.h at random. LL_StepDependency is a good example, it is in versions 3.1.0.31, 3.1.0.32, 3.2.0.16, 3.2.0.17, 3.2.0.18 & 3.3.0.3+, which frankly is down right annoying if you are trying to use #ifdefs.

  • 3.1.0.4
    • LL_StepWallClockUsed
  • 3.1.0.5
    • LL_StepLargePage
    • LL_MachineLargePageSize64
    • LL_MachineLargePageCount64
    • LL_MachineLargePageFree64
  • 3.1.0.31
    • LL_StepDependency
    • LL_MachineConfigTimeStamp
  • 3.2.0.0
    • LL_AdapterUsageWindowMemory
    • LL_AdapterMinWindowSize
    • LL_AdapterMaxWindowSize
    • LL_AdapterMemory
  • 3.2.0.0
    • LL_StepMaxProtocolInstances
    • LL_TaskInstanceMachineAddress
    • LL_AdapterUsageDevice
    • LL_AdapterUsageWindowMemory64
    • LL_AdapterMinWindowSize64
    • LL_AdapterMaxWindowSize64
    • LL_AdapterMemory64
    • LL_AdapterUsageCommunicationInterface
    • LL_AdapterUsageInstanceNumber
    • LL_AdapterWindowList
    • LL_ClassName
    • LL_ClassPriority
    • LL_ClassExcludeUsers
    • LL_ClassIncludeUsers
    • LL_ClassExcludeGroups
    • LL_ClassIncludeGroups
    • LL_ClassAdmin
    • LL_ClassNqsClass
    • LL_ClassNqsSubmit
    • LL_ClassNqsQuery
    • LL_ClassMaxProcessors
    • LL_ClassMaxJobs
    • LL_ClassGetFirstResourceRequirement
    • LL_ClassGetNextResourceRequirement
    • LL_ClassComment
    • LL_ClassCkptDir
    • LL_ClassCkptTimeHardLimit
    • LL_ClassCkptTimeSoftLimit
    • LL_ClassWallClockLimitHard
    • LL_ClassWallClockLimitSoft
    • LL_ClassCpuStepLimitHard
    • LL_ClassCpuStepLimitSoft
    • LL_ClassCpuLimitHard
    • LL_ClassCpuLimitSoft
    • LL_ClassDataLimitHard
    • LL_ClassDataLimitSoft
    • LL_ClassCoreLimitHard
    • LL_ClassCoreLimitSoft
    • LL_ClassFileLimitHard
    • LL_ClassFileLimitSoft
    • LL_ClassStackLimitHard
    • LL_ClassStackLimitSoft
    • LL_ClassRssLimitHard
    • LL_ClassRssLimitSoft
    • LL_ClassNice
    • LL_ClassFreeSlots
    • LL_ClassMaximumSlots
    • LL_ClassConstraints
    • LL_ClassExecutionFactor
    • LL_ClassMaxTotalTasks
    • LL_ClassPreemptClass
    • LL_ClassStartClass
    • LL_ClassMaxProtocolInstances
  • 3.2.0.5
    • LL_AdapterUsageNetworkId
  • 3.2.0.6
    • LL_StepBulkXfer
    • LL_StepTotalRcxtBlocks
    • LL_AdapterUsageTag
  • 3.2.0.9
    • LL_StepUserRcxtBlocks
  • 3.2.0.17
    • LL_AdapterReqInstances
    • LL_AdapterReqReserved01
    • LL_AdapterReqProtocol
    • LL_AdapterReqMode
    • LL_AdapterReqTypeName
  • 3.3.0.0
    • LL_JobSchedd
    • LL_JobJobQueueKey
    • LL_JobIsRemote
    • LL_JobSchedulingCluster
    • LL_JobSubmittingCluster
    • LL_JobSubmittingUser
    • LL_JobSendingCluster
    • LL_JobRequestedCluster
    • LL_JobLocalOutboundSchedds
    • LL_JobScheddHistory
    • LL_JobGetFirstClusterInputFile
    • LL_JobGetNextClusterInputFile
    • LL_JobGetFirstClusterOutputFile
    • LL_JobGetNextClusterOutputFile
    • LL_StepRequestedReservationID
    • LL_StepReservationID
    • LL_StepPreemptable
    • LL_StepPreemptWaitList
    • LL_StepRsetName
    • LL_StepCkptExecuteDirectory
    • LL_StepAcctKey
    • LL_MachineReservationPermitted
    • LL_MachineReservationList
    • LL_MachinePrestartedStarters
    • LL_MachineCPUList
    • LL_MachineGetFirstMCM
    • LL_MachineGetNextMCM
    • LL_MachineCpuList
    • LL_TaskInstanceMachine
    • LL_TaskInstanceCpuList
    • LL_AdapterMCMId
    • LL_ClusterPreemptionEnabled
    • LL_ClusterSysPrioThreshold
    • LL_ClusterMusterEnvironment
    • LL_ClusterClusterMetric
    • LL_ClusterClusterUserMapper
    • LL_ClusterClusterRemoteJobFilter
    • LL_ReservationID
    • LL_ReservationStartTime
    • LL_ReservationDuration
    • LL_ReservationMachines
    • LL_ReservationJobs
    • LL_ReservationModeShared
    • LL_ReservationModeRemoveOnIdle
    • LL_ReservationStatus
    • LL_ReservationOwner
    • LL_ReservationGroup
    • LL_ReservationCreateTime
    • LL_ReservationModifiedBy
    • LL_ReservationModifyTime
    • LL_ReservationUsers
    • LL_ReservationGroups
    • LL_MClusterName
    • LL_MClusterInboundScheddPort
    • LL_MClusterLocal
    • LL_MClusterInboundHosts
    • LL_MClusterOutboundHosts
    • LL_MClusterIncludeUsers
    • LL_MClusterExcludeUsers
    • LL_MClusterIncludeGroups
    • LL_MClusterExcludeGroups
    • LL_MClusterIncludeClasses
    • LL_MClusterExcludeClasses
    • LL_MClusterSecureScheddPort
    • LL_MClusterMulticlusterSecurity
    • LL_MClusterSslCipherList
    • LL_ClusterFileLocalPath
    • LL_ClusterFileRemotePath
    • LL_MCMID
    • LL_MCMCPUList
    • LL_LastGetDataSpecification
  • 3.3.0.1
    • LL_ClusterEnforceMemory
  • 3.3.1.0
    • LL_JobUsersJCF
    • LL_StepFavoredJob
    • LL_StepBgJobId
    • LL_StepBgState
    • LL_StepBgSizeRequested
    • LL_StepBgSizeAllocated
    • LL_StepBgShapeRequested
    • LL_StepBgShapeAllocated
    • LL_StepBgConnectionRequested
    • LL_StepBgConnectionAllocated
    • LL_StepBgPartitionRequested
    • LL_StepBgPartitionAllocated
    • LL_StepBgPartitionState
    • LL_StepBgErrorText
    • LL_MachineUsedCPUs
    • LL_MachineUsedCPUList
    • LL_AdapterUsageRcxtBlocks
    • LL_AdapterRcxtBlocks
    • LL_AdapterReqRcxtBlks
    • LL_MCMCPUs
    • LL_BgMachineBPSize
    • LL_BgMachineSize
    • LL_BgMachineSwitchCount
    • LL_BgMachineWireCount
    • LL_BgMachinePartitionCount
    • LL_BgMachineGetFirstBP
    • LL_BgMachineGetNextBP
    • LL_BgMachineGetFirstSwitch
    • LL_BgMachineGetNextSwitch
    • LL_BgMachineGetFirstWire
    • LL_BgMachineGetNextWire
    • LL_BgMachineGetFirstPartition
    • LL_BgMachineGetNextPartition
    • LL_BgBPId
    • LL_BgBPState
    • LL_BgBPLocation
    • LL_BgBPSubDividedBusy
    • LL_BgBPCurrentPartition
    • LL_BgBPCurrentPartitionState
    • LL_BgBPNodeCardCount
    • LL_BgBPGetFirstNodeCard
    • LL_BgBPGetNextNodeCard
    • LL_BgSwitchId
    • LL_BgSwitchBasePartitionId
    • LL_BgSwitchState
    • LL_BgSwitchDimension
    • LL_BgSwitchConnCount
    • LL_BgSwitchGetFirstConn
    • LL_BgSwitchGetNextConn
    • LL_BgPortConnToSwitchPort
    • LL_BgPortConnFromSwitchPort
    • LL_BgPortConnCurrentPartition
    • LL_BgPortConnCurrentPartitionState
    • LL_BgWireId
    • LL_BgWireState
    • LL_BgWireFromPortCompId
    • LL_BgWireFromPortId
    • LL_BgWireToPortCompId
    • LL_BgWireToPortId
    • LL_BgWireCurrentPartition
    • LL_BgWireCurrentPartitionState
    • LL_BgPartitionId
    • LL_BgPartitionState
    • LL_BgPartitionBPCount
    • LL_BgPartitionSwitchCount
    • LL_BgPartitionBPList
    • LL_BgPartitionGetFirstSwitch
    • LL_BgPartitionGetNextSwitch
    • LL_BgPartitionNodeCardList
    • LL_BgPartitionConnection
    • LL_BgPartitionOwner
    • LL_BgPartitionMode
    • LL_BgPartitionSmall
    • LL_BgPartitionMLoaderImage
    • LL_BgPartitionBLRTSImage
    • LL_BgPartitionLinuxImage
    • LL_BgPartitionRamDiskImage
    • LL_BgPartitionDescription
    • LL_BgNodeCardId
    • LL_BgNodeCardState
    • LL_BgNodeCardQuarter
    • LL_BgNodeCardCurrentPartition
    • LL_BgNodeCardCurrentPartitionState
  • 3.3.1.1
    • LL_StepBgJobState
    • LL_StepMcmAffinityOptions
    • LL_AdapterUsageExclusive
  • 3.4.0.1
    • LL_StepCoschedule
    • LL_StepSMTRequired
    • LL_StepMetaClusterJobID
    • LL_StepMetaClusterJob
    • LL_StepMasterVirtualIP
    • LL_StepMasterRealIP
    • LL_StepMasterNetmask
    • LL_StepVipNetmask
    • LL_StepMetaClusterPoeHostname
    • LL_StepMetaClusterPoePmdPhysnet
    • LL_StepCkptSubDir
    • LL_TaskInstanceMachineVirtualIP
    • LL_AdapterUsagePortNumber
    • LL_AdapterUsageLmc
    • LL_AdapterPortNumber
    • LL_AdapterLmc
    • LL_AdapterUsageNetworkId64
    • LL_AdapterUsageDeviceDriver
    • LL_AdapterUsageDeviceType
    • LL_AdapterInterfaceNetmask
    • LL_AdapterUsageVirtualIP
    • LL_AdapterUsageNetmask
    • LL_ClassGetFirstUser
    • LL_ClassGetNextUser
    • LL_ClassDefWallClockLimitHard
    • LL_ClassDefWallClockLimitSoft
    • LL_ReservationBgCNodes
    • LL_ReservationBgConnection
    • LL_ReservationBgShape
    • LL_ReservationBgBPs
    • LL_BgBPCnodeMemory
    • LL_BgPartitionSize
    • LL_BgPartitionShape
    • LL_FairShareCurrentTime
    • LL_FairShareTotalShares
    • LL_FairShareInterval
    • LL_FairShareNumberOfEntries
    • LL_FairShareEntryNames
    • LL_FairShareEntryTypes
    • LL_FairShareAllocatedShares
    • LL_FairShareUsedShares
    • LL_FairShareUsedBgShares
    • LL_ClassUserName
    • LL_ClassUserMaxIdle
    • LL_ClassUserMaxQueued
    • LL_ClassUserMaxJobs
    • LL_ClassUserMaxTotalTasks
  • 3.4.1.1
    • LL_StepAsLimitHard64
    • LL_StepAsLimitSoft64
    • LL_StepNprocLimitHard64
    • LL_StepNprocLimitSoft64
    • LL_StepMemlockLimitHard64
    • LL_StepMemlockLimitSoft64
    • LL_StepLocksLimitHard64
    • LL_StepLocksLimitSoft64
    • LL_StepNofileLimitHard64
    • LL_StepNofileLimitSoft64
    • LL_NodeGetFirstResourceRequirement
    • LL_NodeGetNextResourceRequirement
    • LL_ClassGetFirstNodeResourceRequirement
    • LL_ClassGetNextNodeResourceRequirement
    • LL_ClassAsLimitHard
    • LL_ClassAsLimitSoft
    • LL_ClassNprocLimitHard
    • LL_ClassNprocLimitSoft
    • LL_ClassMemlockLimitHard
    • LL_ClassMemlockLimitSoft
    • LL_ClassLocksLimitHard
    • LL_ClassLocksLimitSoft
    • LL_ClassNofileLimitHard
    • LL_ClassNofileLimitSoft
    • LL_ReservationBgPartition
  • 3.4.2.1
    • LL_StepTaskAffinity
    • LL_StepCpusPerCore
    • LL_StepIsTopDog
    • LL_StepConsideredAt
    • LL_StepEstimatedStartTime
    • LL_StepUserHoldTime
    • LL_StepQueueId
    • LL_StepQueueIndex
    • LL_ClassExcludeBg
    • LL_ClassIncludeBg
    • LL_BgBPIONodeCount
    • LL_BgPartitionUserList
    • LL_BgPartitionIONodeCount
    • LL_BgPartitionCnLoadImage
    • LL_BgPartitionIoLoadImage
    • LL_BgPartitionIONodeList
    • LL_BgNodeCardSubDividedBusy
    • LL_BgNodeCardIONodeCount
    • LL_BgNodeCardGetFirstIONode
    • LL_BgNodeCardGetNextIONode
    • LL_BgIONodeId
    • LL_BgIONodeIPAddr
    • LL_BgIONodeCurrentPartition
    • LL_BgIONodeCurrentPartitionState
  • 3.5.0.0
    • LL_StepClusterOption
    • LL_StepScaleAcrossClusterCount
    • LL_StepGetFirstScaleAcrossCluster
    • LL_StepGetNextScaleAcrossCluster
    • LL_StepBgPartitionType
    • LL_MachineRSetSupport
    • LL_MachineSMTState
    • LL_ClusterScaleAcrossEnv
    • LL_WlmStatVMemoryHighWater
    • LL_WlmStatVMemorySnapshotUsage
    • LL_WlmStatLargePageMemorySnapshotUsage
    • LL_ClassAllowScaleAcrossJobs
    • LL_ClassGetFirstMaxResourceRequirement
    • LL_ClassGetNextMaxResourceRequirement
    • LL_ClassGetFirstMaxNodeResourceRequirement
    • LL_ClassGetNextMaxNodeResourceRequirement
    • LL_ClassStripingWithMinimumNetworks
    • LL_ClassMaxNode
    • LL_ReservationExpiration
    • LL_ReservationCanceledOccurrences
    • LL_ReservationCanceledOccurrencesCount
    • LL_ReservationRecurringString
    • LL_ReservationRecurrenceStructure
    • LL_ReservationBindingMethod
    • LL_ReservationGetNextOccurrence
    • LL_ReservationOccurrenceID
    • LL_StepReservationBindingMethod
    • LL_StepReservationFirstOidStepBoundTo
    • LL_MClusterAllowScaleAcrossJobs
    • LL_MClusterMainScaleAcrossCluster
    • LL_BgPartitionType
  • 3.5.1.2
    • LL_ReservationRecurrenceString
    • LL_ReservationJobOids
  • 4.1.0.0
    • LL_StepJobKey
    • LL_StepGetFirstNetworkUsage
    • LL_NetworkUsageNetworkId
    • LL_NetworkUsageProtocol
    • LL_StepGetNextNetworkUsage
    • LL_NetworkUsageInstances
    • LL_MachineMaxDstgStarters
    • LL_NetworkUsageMode
    • LL_NetworkUsageRcxtBlocks
    • LL_NetworkUsageWindows

defs.h.in

To cope with version changes in the supported calls in the Data Access API the defs.h.in file is processed by the Makefile.PL to produce defs.h. The make process works by finding all the definitions in your current llapi.h file, if they are not found in defs.h.in then you are told about it and a suggestion of how to add them is given. If the definition exists in defs.h.in and not in your llapi.h, it is deleted.

The defs array contained in the defs.h.in file is basically a mapping betweeen the Data Access API type and the returned variable type, the file is produced by massaging the llapi.h file to link data in the comment fields with the variable type, it is then hand tuned to correct entries where the data type in the comment is not quite right,

C99 introduced “Designated Initializers” for arrays, meaning you can do things like:

static int defs[]={
       [LL_StepCheckpointing] = LL_BOOLEAN_STAR,
       [LL_MachineName] = LL_CHAR_STAR,

The version of xlf on the IBM I have access to does not support this feature so it is not possible to initialize the array this way, instead the Makeffile.PL has a second processing step which will fully populate the defs array. This makes no difference to the functioning of the module.

 
ll_get_data_changes.txt · Last modified: 2010/06/07 16:26 by mike
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki