Hi!

> Full patch still can get from
>  http://soulinfo.com/~hugang/swsusp/2005-1-21/

>From a short look:

core.eatmem.diff of course helps, but is wrong. You should talk to
akpm to find out why shrink_all_memory is not doing its job.

i386: +       repz movsl %ds:(%esi),%es:(%edi)
I do not think movsl has any parameters. What is repz? Repeat as long
as it is non-zero? I think this should be "rep movsl".


core:
@@ -576,92 +989,31 @@ static void copy_data_pages(void)
                for (zone_pfn = 0; zone_pfn < zone->spanned_pages; ++zone_pfn) {
                        if (saveable(zone, &zone_pfn)) {
                                struct page * page;
+                               pbe = find_pbe_by_index(pagedir_nosave, 
nr_copy_pages-to_copy);
+                               BUG_ON(pbe == NULL);
                                page = pfn_to_page(zone_pfn + 
zone->zone_start_pfn);

Don't you introduce O(n^2) behaviour here? Should not it be something
like pbe_next? And it is the only user of find_pbe_by_index().

I think that read_one_pbe() is too short to be uninlined... Same for
read_one_pagedir and write_one_pbe().

alloc_one_pagedir: why not just alloc page as zeroed?

Okay, it is still too big to merge directly. Would it be possible to
get mod_printk_progress(), introduce *_for_each (but leave there old
implementations), introduce pagedir_free() (but leave old
implementation). Better collision code should already be there, that
should make patch smaller, too. Try not to move code around.

That may be mergeable before 2.6.11...
                                                                Pavel
-- 
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to