mention LRU list a bit more in comments.

This commit is contained in:
Robert Morris 2019-10-29 04:32:55 -04:00
parent 9de9211b11
commit 028af27646

View file

@ -28,7 +28,8 @@ struct {
struct buf buf[NBUF]; struct buf buf[NBUF];
// Linked list of all buffers, through prev/next. // Linked list of all buffers, through prev/next.
// head.next is most recently used. // Sorted by how recently the buffer was used.
// head.next is most recent, head.prev is least.
struct buf head; struct buf head;
} bcache; } bcache;
@ -71,7 +72,8 @@ bget(uint dev, uint blockno)
} }
} }
// Not cached; recycle an unused buffer. // Not cached.
// Recycle the least recently used (LRU) unused buffer.
for(b = bcache.head.prev; b != &bcache.head; b = b->prev){ for(b = bcache.head.prev; b != &bcache.head; b = b->prev){
if(b->refcnt == 0) { if(b->refcnt == 0) {
b->dev = dev; b->dev = dev;
@ -110,7 +112,7 @@ bwrite(struct buf *b)
} }
// Release a locked buffer. // Release a locked buffer.
// Move to the head of the MRU list. // Move to the head of the most-recently-used list.
void void
brelse(struct buf *b) brelse(struct buf *b)
{ {