Re: questions about ttm_page_alloc.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 07/22/2010 07:56 AM, Dan Carpenter wrote:
On Mon, Jul 12, 2010 at 07:12:37PM -0400, Jerome Glisse wrote:
On 07/12/2010 06:39 PM, Dan Carpenter wrote:
     327                  pages_to_free[freed_pages++] = p;
     328                  /* We can only remove NUM_PAGES_TO_ALLOC at a time. */
     329                  if (freed_pages>= NUM_PAGES_TO_ALLOC) {
     330                          /* remove range of pages from the pool */
     331                          __list_del(p->lru.prev,&pool->list);

	Why do we use p->lru.prev here when we use&p->lru in other
	places?

     332
     333                          ttm_pool_update_free_locked(pool, freed_pages);
     334                          /**
     335                           * Because changing page caching is costly
     336                           * we unlock the pool to prevent stalling.


Thanks for answering about the wb vs uncached, but I'm still confused why we use
&p->lru in most places and p->lru.prev in this place.

regards,
dan carpenter


This is because it use __list_del to remove a whole part of the list.

/*
 * Delete a list entry by making the prev/next entries
 * point to each other.
 *
 * This is only for internal list manipulation where we know
 * the prev/next entries already!
 */
static inline void __list_del(struct list_head * prev, struct list_head * next)
{
»·······next->prev = prev;
»·······prev->next = next;
}

Cheers,
Jerome
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux