- Timestamp:
- Mar 11, 2010 8:11:17 PM (15 years ago)
- svn:sync-xref-src-repo-rev:
- 58714
- Location:
- trunk
- Files:
-
- 2 deleted
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Storage/DevBusLogic.cpp
r26836 r27302 35 35 #ifdef IN_RING3 36 36 # include <iprt/alloc.h> 37 # include <iprt/ cache.h>37 # include <iprt/memcache.h> 38 38 # include <iprt/param.h> 39 39 # include <iprt/uuid.h> … … 369 369 370 370 /** Cache for task states. */ 371 R3PTRTYPE( PRTOBJCACHE) pTaskCache;371 R3PTRTYPE(RTMEMCACHE) hTaskCache; 372 372 373 373 /** Device state for BIOS access. */ … … 1766 1766 uint32_t uTargetDevice; 1767 1767 1768 rc = RT CacheRequest(pBusLogic->pTaskCache, (void **)&pTaskState);1768 rc = RTMemCacheAllocEx(pBusLogic->hTaskCache, (void **)&pTaskState); 1769 1769 AssertMsgRCReturn(rc, ("Getting task from cache failed rc=%Rrc\n", rc), rc); 1770 1770 … … 1795 1795 AssertMsgRCReturn(rc, ("Finishing BIOS SCSI request failed rc=%Rrc\n", rc), rc); 1796 1796 1797 rc = RTCacheInsert(pBusLogic->pTaskCache, pTaskState); 1798 AssertMsgRCReturn(rc, ("Getting task from cache failed rc=%Rrc\n", rc), rc); 1797 RTMemCacheFree(pBusLogic->hTaskCache, pTaskState); 1799 1798 } 1800 1799 else … … 1988 1987 1989 1988 /* Add task to the cache. */ 1990 rc = RTCacheInsert(pBusLogic->pTaskCache, pTaskState); 1991 AssertMsgRC(rc, ("Inserting task state into cache failed rc=%Rrc\n", rc)); 1992 1989 RTMemCacheFree(pBusLogic->hTaskCache, pTaskState); 1993 1990 return VINF_SUCCESS; 1994 1991 } … … 2006 2003 int rc; 2007 2004 2008 rc = RT CacheRequest(pBusLogic->pTaskCache, (void **)&pTaskState);2005 rc = RTMemCacheAllocEx(pBusLogic->hTaskCache, (void **)&pTaskState); 2009 2006 AssertMsgReturn(RT_SUCCESS(rc) && (pTaskState != NULL), ("Failed to get task state from cache\n"), rc); 2010 2007 … … 2079 2076 BUSLOGIC_MAILBOX_INCOMING_COMPLETION_WITH_ERROR); 2080 2077 2081 rc = RTCacheInsert(pBusLogic->pTaskCache, pTaskState); 2082 AssertMsgRC(rc, ("Failed to insert task state into cache rc=%Rrc\n", rc)); 2078 RTMemCacheFree(pBusLogic->hTaskCache, pTaskState); 2083 2079 } 2084 2080 else … … 2510 2506 PDMDEV_CHECK_VERSIONS_RETURN_QUIET(pDevIns); 2511 2507 2512 int rc = RT CacheDestroy(pThis->pTaskCache);2508 int rc = RTMemCacheDestroy(pThis->hTaskCache); 2513 2509 AssertMsgRC(rc, ("Destroying task cache failed rc=%Rrc\n", rc)); 2514 2510 … … 2591 2587 2592 2588 /* Initialize task cache. */ 2593 rc = RTCacheCreate(&pThis->pTaskCache, 0 /* unlimited */, sizeof(BUSLOGICTASKSTATE), RTOBJCACHE_PROTECT_INSERT); 2589 rc = RTMemCacheCreate(&pThis->hTaskCache, sizeof(BUSLOGICTASKSTATE), 0, UINT32_MAX, 2590 NULL, NULL, NULL, 0); 2594 2591 if (RT_FAILURE(rc)) 2595 2592 return PDMDEV_SET_ERROR(pDevIns, rc, -
trunk/src/VBox/Devices/Storage/DevLsiLogicSCSI.cpp
r26173 r27302 30 30 #include <iprt/string.h> 31 31 #ifdef IN_RING3 32 # include <iprt/ cache.h>32 # include <iprt/memcache.h> 33 33 # include <iprt/mem.h> 34 34 # include <iprt/param.h> … … 270 270 VBOXSCSI VBoxSCSI; 271 271 /** Cache for allocated tasks. */ 272 R3PTRTYPE( PRTOBJCACHE) pTaskCache;272 R3PTRTYPE(RTMEMCACHE) hTaskCache; 273 273 /** Status LUN: The base interface. */ 274 274 PDMIBASE IBase; … … 1940 1940 1941 1941 lsilogicFinishAddressReply(pLsiLogic, &pTaskState->IOCReply, false); 1942 RT CacheInsert(pLsiLogic->pTaskCache, pTaskState);1942 RTMemCacheFree(pLsiLogic->hTaskCache, pTaskState); 1943 1943 1944 1944 return rc; … … 2012 2012 } 2013 2013 2014 RT CacheInsert(pLsiLogic->pTaskCache, pTaskState);2014 RTMemCacheFree(pLsiLogic->hTaskCache, pTaskState); 2015 2015 2016 2016 return VINF_SUCCESS; … … 3373 3373 3374 3374 /* Get new task state. */ 3375 rc = RT CacheRequest(pLsiLogic->pTaskCache, (void **)&pTaskState);3375 rc = RTMemCacheAllocEx(pLsiLogic->hTaskCache, (void **)&pTaskState); 3376 3376 AssertRC(rc); 3377 3377 … … 3438 3438 rc = lsilogicProcessMessageRequest(pLsiLogic, &pTaskState->GuestRequest.Header, &Reply); 3439 3439 AssertRC(rc); 3440 RT CacheInsert(pLsiLogic->pTaskCache, pTaskState);3440 RTMemCacheFree(pLsiLogic->hTaskCache, pTaskState); 3441 3441 } 3442 3442 … … 3514 3514 uint32_t uTargetDevice; 3515 3515 3516 rc = RT CacheRequest(pLsiLogic->pTaskCache, (void **)&pTaskState);3516 rc = RTMemCacheAllocEx(pLsiLogic->hTaskCache, (void **)&pTaskState); 3517 3517 AssertMsgRCReturn(rc, ("Getting task from cache failed rc=%Rrc\n", rc), rc); 3518 3518 … … 3554 3554 AssertMsgRCReturn(rc, ("Finishing BIOS SCSI request failed rc=%Rrc\n", rc), rc); 3555 3555 3556 rc = RTCacheInsert(pLsiLogic->pTaskCache, pTaskState); 3557 AssertMsgRCReturn(rc, ("Getting task from cache failed rc=%Rrc\n", rc), rc); 3558 3556 RTMemCacheFree(pLsiLogic->hTaskCache, pTaskState); 3559 3557 return rc; 3560 3558 } … … 4364 4362 /* Destroy task cache. */ 4365 4363 int rc = VINF_SUCCESS; 4366 if (pThis-> pTaskCache)4367 rc = RT CacheDestroy(pThis->pTaskCache);4364 if (pThis->hTaskCache != NIL_RTMEMCACHE) 4365 rc = RTMemCacheDestroy(pThis->hTaskCache); 4368 4366 4369 4367 lsilogicConfigurationPagesFree(pThis); … … 4552 4550 * Allocate task cache. 4553 4551 */ 4554 rc = RTCacheCreate(&pThis->pTaskCache, 0, sizeof(LSILOGICTASKSTATE), RTOBJCACHE_PROTECT_INSERT); 4552 rc = RTMemCacheCreate(&pThis->hTaskCache, sizeof(LSILOGICTASKSTATE), 0, UINT32_MAX, 4553 NULL, NULL, NULL, 0); 4555 4554 if (RT_FAILURE(rc)) 4556 4555 return PDMDEV_SET_ERROR(pDevIns, rc, -
trunk/src/VBox/Devices/Storage/DrvVD.cpp
r27232 r27302 33 33 #include <iprt/file.h> 34 34 #include <iprt/string.h> 35 #include <iprt/cache.h>36 35 #include <iprt/tcp.h> 37 36 #include <iprt/semaphore.h> … … 1203 1202 break; 1204 1203 } 1205 rc = CFGMR3QueryBoolDef(pCurNode, "UseNewIo", &fUseNewIo, false);1204 rc = CFGMR3QueryBoolDef(pCurNode, "UseNewIo", &fUseNewIo, true); 1206 1205 if (RT_FAILURE(rc)) 1207 1206 { -
trunk/src/VBox/Devices/testcase/tstDeviceStructSizeRC.cpp
r27002 r27302 1452 1452 GEN_CHECK_OFF(BUSLOGIC, pNotifierQueueR0); 1453 1453 GEN_CHECK_OFF(BUSLOGIC, pNotifierQueueRC); 1454 GEN_CHECK_OFF(BUSLOGIC, pTaskCache);1454 GEN_CHECK_OFF(BUSLOGIC, hTaskCache); 1455 1455 GEN_CHECK_OFF(BUSLOGIC, VBoxSCSI); 1456 1456 GEN_CHECK_OFF(BUSLOGIC, aDeviceStates); … … 1520 1520 GEN_CHECK_OFF(LSILOGICSCSI, enmCtrlType); 1521 1521 GEN_CHECK_OFF(LSILOGICSCSI, VBoxSCSI); 1522 GEN_CHECK_OFF(LSILOGICSCSI, pTaskCache);1522 GEN_CHECK_OFF(LSILOGICSCSI, hTaskCache); 1523 1523 GEN_CHECK_OFF(LSILOGICSCSI, IBase); 1524 1524 GEN_CHECK_OFF(LSILOGICSCSI, ILeds); -
trunk/src/VBox/Runtime/Makefile.kmk
r27033 r27302 258 258 common/misc/assert.cpp \ 259 259 common/misc/buildconfig.cpp \ 260 common/misc/cache.cpp \261 260 common/misc/cidr.cpp \ 262 261 common/misc/getopt.cpp \ -
trunk/src/VBox/Runtime/testcase/tstRTMemCache.cpp
r26484 r27302 36 36 #include <iprt/asm.h> 37 37 #include <iprt/err.h> 38 #include <iprt/cache.h>39 38 #include <iprt/initterm.h> 40 39 #include <iprt/mem.h> … … 58 57 uint32_t cbObject; 59 58 bool fUseCache; 60 bool fUseOldCache;61 59 } TST3THREAD, *PTST3THREAD; 62 60 … … 69 67 /** Global mem cache handle for use in some of the testcases. */ 70 68 static RTMEMCACHE g_hMemCache; 71 /** For testcase 3. */72 static PRTOBJCACHE g_pOldCacheTst3;73 69 /** Stop indicator for tst3 threads. */ 74 70 static bool volatile g_fTst3Stop; … … 235 231 } 236 232 } 237 else if (pThread->fUseOldCache)238 {239 while (!g_fTst3Stop)240 {241 void *apv[64];242 243 for (unsigned i = 0; i < RT_ELEMENTS(apv); i++)244 {245 apv[i] = NULL;246 RTTEST_CHECK_RC_OK(g_hTest, RTCacheRequest(g_pOldCacheTst3, &apv[i]));247 }248 249 for (unsigned i = 0; i < RT_ELEMENTS(apv); i++)250 RTCacheInsert(g_pOldCacheTst3, apv[i]);251 252 cIterations += RT_ELEMENTS(apv);253 }254 }255 233 else 256 234 { … … 284 262 RTTestISubF("Benchmark - %u threads, %u bytes, %u secs, %s", cThreads, cbObject, cSecs, 285 263 iMethod == 0 ? "RTMemCache" 286 : iMethod == 1 ? "RTCache"287 264 : "RTMemAlloc"); 288 265 … … 292 269 */ 293 270 RTTESTI_CHECK_RC_RETV(RTMemCacheCreate(&g_hMemCache, cbObject, 0 /*cbAlignment*/, UINT32_MAX, NULL, NULL, NULL, 0 /*fFlags*/), VINF_SUCCESS); 294 RTTESTI_CHECK_RC_RETV(RTCacheCreate(&g_pOldCacheTst3, 0, cbObject, RTOBJCACHE_PROTECT_INSERT | RTOBJCACHE_PROTECT_REQUEST), VINF_SUCCESS);295 271 296 272 RTSEMEVENTMULTI hEvt; … … 306 282 aThreads[i].cIterations = 0; 307 283 aThreads[i].fUseCache = iMethod == 0; 308 aThreads[i].fUseOldCache= iMethod == 1;309 284 aThreads[i].cbObject = cbObject; 310 285 aThreads[i].hEvt = hEvt; … … 338 313 339 314 /* clean up */ 340 RTTESTI_CHECK_RC(RTCacheDestroy(g_pOldCacheTst3), VINF_SUCCESS);341 315 RTTESTI_CHECK_RC(RTMemCacheDestroy(g_hMemCache), VINF_SUCCESS); 342 316 RTTESTI_CHECK_RC_OK(RTSemEventMultiDestroy(hEvt)); … … 347 321 tst3(cThreads, cbObject, 0, cSecs); 348 322 tst3(cThreads, cbObject, 1, cSecs); 349 tst3(cThreads, cbObject, 2, cSecs);350 323 } 351 324
Note:
See TracChangeset
for help on using the changeset viewer.