Lines Matching refs:item

162 existing log item dirty region tracking) is that when it comes to writing the
177 Put simply, the current logging code formats the changes to each item into an
178 vector array that points to the changed regions in the item. The log write code
180 transaction commit while the item is locked in the transaction. Instead of
187 that does not require us to lock the item to access. This formatting and
190 without needing to lock the owning item.
230 are in the item, so we'd need a new encapsulation method for regions in the log
249 log item is the natural place to store this vector and buffer, and also makes sense
253 The log item is already used to track the log items that have been written to
262 Essentially, this shows that an item that is in the AIL can still be modified
266 committed item tracking needs it's own locks, lists and state fields in the log
267 item.
336 To ensure that we can be writing an item into a checkpoint transaction at
337 the same time another transaction modifies the item and inserts the log item
342 buffer and log vector attached to each log item needs to be attached to the
343 checkpoint context so that the log item can be released. In diagrammatic form,
400 Discussion Point: I am uncertain as to whether the log item is the most
403 vectors and break the link between the log item and the log vector means that
404 we take a cache line hit for the log item list modification, then another for
406 break the link between the log item and the log vector, which means we should
407 dirty only the log item cachelines. Normally I wouldn't be concerned about one
482 amount of log space required as we add items to the commit item list, but we
575 transactions is completed, they will unpin the item once. As a result, the item
577 pending transactions. Thus the pinning and unpinning of a log item is symmetric
578 as there is a 1:1 relationship with transaction commit and log item completion.
584 log item completion. The result of this is that pinning and unpinning of the
598 for the pin count means that the pinning of an item must take place under the
601 the fact pinning the item is dependent on whether the item is present in the
620 2. Adding items to the CIL and updating item space accounting
687 The existing log item life cycle is as follows:
691 3. Lock item
692 4. Join item to transaction
694 Allocate log item
695 Attach log item to owner item
696 Attach log item to transaction
697 5. Modify item
698 Record modifications in log item
700 Pin item in memory
701 Format item into log buffer
703 Unlock item
710 Mark log item committed
711 Insert log item into AIL
712 Write commit LSN into log item
713 Unpin log item
715 Lock item
716 Mark log item clean
717 Flush item to disk
719 <item IO completion>
721 9. Log item removed from AIL
726 independent of steps 8-9. An item can be locked in steps 1-6 or steps 8-9
728 at the same time. If the log item is in the AIL or between steps 6 and 7
729 and steps 1-6 are re-entered, then the item is relogged. Only when steps 8-9
736 3. Lock item
737 4. Join item to transaction
739 Allocate log item
740 Attach log item to owner item
741 Attach log item to transaction
742 5. Modify item
743 Record modifications in log item
745 Pin item in memory if not pinned in CIL
746 Format item into log vector + buffer
747 Attach log vector and buffer to log item
748 Insert log item into CIL
750 Unlock item
767 Mark log item committed
768 Insert item into AIL
769 Write commit LSN into log item
770 Unpin log item
772 Lock item
773 Mark log item clean
774 Flush item to disk
775 <item IO completion>
776 10. Log item removed from AIL
784 Hence delayed logging should not introduce any constraints on log item