Messages in this thread | | | Date | Tue, 14 Sep 2004 11:59:43 +1000 | From | Nick Piggin <> | Subject | Re: [pagevec] resize pagevec to O(lg(NR_CPUS)) |
| |
Marcelo Tosatti wrote: >>Sure. And when you fill it with pages, they'll use up 32KB of dcache >>by using a single 64B line per page. Now that you've blown the cache, >>when you go to move those pages to another list, you'll have to pull >>them out of L2 again one at a time. >> >>OK, so a 511 item pagevec is pretty unlikely. How about a 64 item one >>with 128 byte cachelines, and you're touching two cachelines per >>page operation? That's 16K. > > > Nick, > > Note that you dont read/write data to the actual pages most of the > times pagevec's are used. The great majority is just page management code. > So we dont really blow the caches like you said. >
You're often pulling them off lists though which is what will do it. Not the actual page, but the struct page.
> I agree we need more tests :) >
Yep.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |