summaryrefslogtreecommitdiffstats
path: root/src/include/usr/mbox/mboxif.H
diff options
context:
space:
mode:
authorDoug Gilbert <dgilbert@us.ibm.com>2014-06-11 17:05:32 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-08-12 18:41:17 -0500
commit9ba94076a3ae491c1d4bd8a2bf7b015f0af17b30 (patch)
tree393a31cbe50862710a5f84a7ad2b9cc88a7c17aa /src/include/usr/mbox/mboxif.H
parent0fab01cf0c87843871862448a4809e9cab7c6b2a (diff)
downloadtalos-hostboot-9ba94076a3ae491c1d4bd8a2bf7b015f0af17b30.tar.gz
talos-hostboot-9ba94076a3ae491c1d4bd8a2bf7b015f0af17b30.zip
Throttle mailbox operations to avoid out-of-memory condition
Change-Id: I18f13ec742efe196e6a2bc3714051e2489567158 RTC: 102852 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/11586 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include/usr/mbox/mboxif.H')
-rw-r--r--src/include/usr/mbox/mboxif.H25
1 files changed, 24 insertions, 1 deletions
diff --git a/src/include/usr/mbox/mboxif.H b/src/include/usr/mbox/mboxif.H
index f9846cbc3..1f56d6c95 100644
--- a/src/include/usr/mbox/mboxif.H
+++ b/src/include/usr/mbox/mboxif.H
@@ -5,7 +5,9 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 2012,2014 */
+/* Contributors Listed Below - COPYRIGHT 2012,2014 */
+/* [+] International Business Machines Corp. */
+/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
/* you may not use this file except in compliance with the License. */
@@ -131,6 +133,27 @@ namespace MBOX
*/
errlHndl_t resume();
+ /**
+ * Allocate storage for mailbox message extra_data for asynchronous
+ * messages.
+ *
+ * @param[in] Number of bytes to allocate
+ * @return pointer to storage
+ *
+ * @note This call may block until memory becomes available if the memory
+ * sum of of all mbox messages is excessive.
+ *
+ * @note a call to MOX::send(..) will release the storage.
+ */
+ void * allocate(size_t);
+
+ /**
+ * Deallocate storage for a mailbox message extra_data
+ *
+ * @param[in] pointer to storage
+ */
+ void deallocate(void * i_ptr);
+
}; // end namespace MBOX
#endif
OpenPOWER on IntegriCloud