Re: swsusp with highmem, testing wanted

From: Pavel Machek
Date: Thu Mar 25 2004 - 10:20:58 EST


> > I actually ran it on real 2GB machine, and it seemed to do the trick,
> > unless "too much" memory was full.
> Well your patch really looked nothing more than a nasty hack, since it
> has known and very real failures. Why do you need to copy all highmem
> down to low mem? That cannot _ever_ work reliably?!

Because it is only solution I know that does not require rewriting half
the kernel or rewriting all the block drivers. (see how swsusp already
does copy of lowmem).

Having special "poll" mode for block drivers might do the trick, but thats lot of work.

Which operations are allowed to access highmem? Can I rely on
block device read/write not accessing highmem?

> > What wories me is
> >
> > + kaddr = kmap_atomic(page, KM_USER0);
> > + memcpy(save->data, kaddr, PAGE_SIZE);
> > + kunmap_atomic(kaddr, KM_USER0);
> >
> > : am I allowed to use KM_USER0, or should I get new KM_constant just
> > for me?
> KM_USER0 should be fine.

64 bytes from icmp_seq=28 ttl=51 time=448769.1 ms

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at