Messages in this thread |  | | | Date | Tue, 28 May 2002 21:32:22 +0200 | | From | Pavel Machek <> | | Subject | Re: suspend-to-{RAM,disk} for 2.5.17 |
| |
Hi!
> The rest is okay... > > I'd try writing it this way, and though I've not tested it, I've walked > buddy lists a few times in the past week or two: > > > #ifdef CONFIG_SOFTWARE_SUSPEND > int is_head_of_free_region(struct page *page) > { > zone_t *zone, *node_zones = pgdat_list->node_zones; > unsigned long flags; > > for (zone = node_zones; zone - node_zones < MAX_NR_ZONES; ++zone) { > int order; > list_t *curr; > > /* > * Should not matter as we need quiescent system for > * suspend anyway, but... > */ > spin_lock_irqsave(&zone->lock, flags); > for (order = MAX_ORDER - 1; order >= 0; --order) > list_for_each(curr, &zone->free_area[order].free_list) <== HERE ==> > if (page == list_entry(curr, struct page, list)) > return 1 << order; > spin_unlock_irqrestore(&zone->lock, flags); > > } > return 0; > } > #endif /* CONFIG_SOFTWARE_SUSPEND */
I had to add if (!curr) break; to fix the oops. It now looks way nicer. Thanx. Pavel -- (about SSSCA) "I don't say this lightly. However, I really think that the U.S. no longer is classifiable as a democracy, but rather as a plutocracy." --hpa - 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/
|  |