Lines Matching defs:consumer

218 		AddConsumer(VMCache* cache, VMCache* consumer)
221 fConsumer(consumer)
228 out.Print("vm cache add consumer: cache: %p, consumer: %p", fCache,
244 RemoveConsumer(VMCache* cache, VMCache* consumer)
247 fConsumer(consumer)
254 out.Print("vm cache remove consumer: cache: %p, consumer: %p",
265 Merge(VMCache* cache, VMCache* consumer)
268 fConsumer(consumer)
275 out.Print("vm cache merge with consumer: cache: %p, consumer: %p",
425 // find the previous "add consumer" or "create" entry for the given cache
747 VMCache* consumer = consumers.Head();
750 } else if (consumer->TryLock()) {
752 consumer->Unlock();
754 // Someone else has locked the consumer ATM. Unlock this cache and
755 // wait for the consumer lock. Increment the cache's ref count
759 bool consumerLockedTemp = consumer->SwitchLock(&fLock);
765 && consumer == consumers.Head()) {
770 consumer->Unlock();
965 /*! Makes this case the source of the \a consumer cache,
966 and adds the \a consumer to its list.
968 Assumes you have the cache and the consumer's lock held.
971 VMCache::AddConsumer(VMCache* consumer)
973 TRACE(("add consumer vm cache %p to cache %p\n", consumer, this));
975 consumer->AssertLocked();
977 T(AddConsumer(this, consumer));
979 consumer->source = this;
980 consumers.Add(consumer);
1401 // the page is not yet in the consumer cache - move it upwards
1474 VMCache* consumer = it.Next();) {
1475 kprintf("\t%p\n", consumer);
1517 /*! Merges the given cache with its only consumer.
1518 The caller must hold both the cache's and the consumer's lock. The method
1524 VMCache* consumer = consumers.RemoveHead();
1527 this, this->fRefCount, consumer));
1529 T(Merge(this, consumer));
1532 consumer->Merge(this);
1534 // The remaining consumer has got a new source.
1541 newSource->consumers.Add(consumer);
1542 consumer->source = newSource;
1547 consumer->source = NULL;
1549 // Release the reference the cache's consumer owned. The consumer takes
1555 /*! Removes the \a consumer from this cache.
1556 It will also release the reference to the cache owned by the consumer.
1557 Assumes you have the consumer's cache lock held. This cache must not be
1561 VMCache::_RemoveConsumer(VMCache* consumer)
1563 TRACE(("remove consumer vm cache %p from cache %p\n", consumer, this));
1564 consumer->AssertLocked();
1566 T(RemoveConsumer(this, consumer));
1573 // remove the consumer from the cache, but keep its reference until later
1575 consumers.Remove(consumer);
1576 consumer->source = NULL;