Messages in this thread | | | Date | Fri, 26 Mar 2004 15:09:08 +0100 | From | Jens Axboe <> | Subject | Re: swsusp with highmem, testing wanted |
| |
On Thu, Mar 25 2004, Pavel Machek wrote: > Hi! > > > > Having special "poll" mode for block drivers might do the trick, but > > > thats lot of work. > > > > Maybe I'm missing something, but why doesn't the regular io paths > > work? > > (Basically) you want to replace all kernel data with kernel data saved > on disk. How do you do that using normal i/o paths? If you'll read > "new" data 4KB at a time, you'll crash... because you still need "old" > data to do the reading, and "new" data may fit on same physical spot > in memory. > > There are two solutions to this: > > * require half of memory to be free during suspend. That way you can > read "new" data onto free spots, then cli and copy > > * assume we had special "polling" ide driver that only uses memory > between 0-640KB. That way, I'd have to make sure that 0-640KB is free > during suspending, but otherwise it would work... > > Do you see the problem now?
I see what you mean.
> > > Which operations are allowed to access highmem? Can I rely on > > > block device read/write not accessing highmem? > > > > You mean modify highmem pages, or? > > I'd like to know this. Suppose I ask block subsystem to read from disk > into page @1.8GB. All the highmem contains trash. Will block subsystem > be able to work in this situation?
We've never enforced anything like that, so you cannot rely on it. Block layer itself doesn't keep anything in high memory, and I cannot imagine any drivers that do either.
-- Jens Axboe
- 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/
| |