public inbox for linux-pm@vger.kernel.org
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Pavel Machek <pavel@suse.cz>
Cc: Ingo Oeser <ioe-lkml@rameria.de>,
	linux-kernel@vger.kernel.org, Linux PM <linux-pm@osdl.org>
Subject: Re: [RFC/RFT][PATCH -mm] swsusp: userland interface
Date: Sat, 14 Jan 2006 10:39:59 +0100	[thread overview]
Message-ID: <200601141040.00088.rjw@sisk.pl> (raw)
In-Reply-To: <200601132224.27529.rjw@sisk.pl>

Hi,

On Friday, 13 January 2006 22:24, Rafael J. Wysocki wrote:
> On Friday, 13 January 2006 21:59, Pavel Machek wrote:
> > On Pá 13-01-06 21:49:38, Rafael J. Wysocki wrote:
> > > On Friday, 13 January 2006 20:53, Ingo Oeser wrote:
> > > > On Friday 13 January 2006 00:31, Rafael J. Wysocki wrote:
> > > > > On Thursday, 12 January 2006 23:09, Pavel Machek wrote:
> > > > > > > +SNAPSHOT_IOCAVAIL_SWAP - check the amount of available swap (the last argument
> > > > > > > +	should be a pointer to an unsigned int variable that will contain
> > > > > > > +	the result if the call is successful)
> > > > > > 
> > > > > > Is this good idea? It will overflow on 32-bit systems. Ammount of
> > > > > > available swap can be >4GB. [Or maybe it is in something else than
> > > > > > bytes, then you need to specify it.]
> > > > > 
> > > > > It returns the number of pages.  Well, it should be written explicitly,
> > > > > so I'll fix that.
> > > > 
> > > > Please always talk to the kernel in bytes. Pagesize is only a kernel
> > > > internal unit. Sth. like off64_t is fine.
> > > 
> > > These are values returned by the kernel, actually.  Of course I can convert them
> > > to bytes before sending to the user space, if that's preferrable.
> > > 
> > > Pavel, what do you think?
> > 
> > Bytes, I'd say. It would be nice if preffered image size was in bytes,
> > too, for consistency.
> 
> OK

Having actually tried to do that I see two reasons for keeping the image size
in megs.

First, if that was in bytes, I'd have to pass it via a pointer, because
unsigned long might overflow on i386.  Then I'd have to use get_user()
to read the value.  However, afterwards I'd have to rescale that value
to megs for swsusp_shrink_memory().  It's just easier to pass the value
in megs using the last argument of ioctl() directly (which is consistent
with the /sys/power/image_size thing, BTW).

Second, if that's in bytes, it would suggest that the memory-shrinking
mechanism had byte granularity (ie. way off).

There also is a reason for which SNAPSHOT_AVAIL_SWAP should return
the number of pages, IMO.  Namely, if that's in pages, the number is directly
comparable with the number of image pages which the suspending
utility can read from the image header.  Otherwise it would have to rescale
one of these values using PAGE_SIZE, but that's exactly what we'd like
to avoid.

Anyway returning the swap offsets in bytes is a good idea, as it will allow us
to eliminate PAGE_SIZE from the user space utilities entirely.

Greetings,
Rafael

  reply	other threads:[~2006-01-14  9:39 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-12 21:41 [RFC/RFT][PATCH -mm] swsusp: userland interface Rafael J. Wysocki
2006-01-12 22:09 ` Pavel Machek
2006-01-12 22:47   ` Greg KH
2006-01-12 23:31   ` Rafael J. Wysocki
2006-01-13  0:16     ` Pavel Machek
2006-01-13 11:28       ` Rafael J. Wysocki
2006-01-13 19:53     ` Ingo Oeser
2006-01-13 20:49       ` Rafael J. Wysocki
2006-01-13 20:59         ` Pavel Machek
2006-01-13 21:24           ` Rafael J. Wysocki
2006-01-14  9:39             ` Rafael J. Wysocki [this message]
2006-01-14 11:29               ` Pavel Machek
2006-01-14 12:19                 ` Rafael J. Wysocki
2006-01-14 17:43                   ` Pavel Machek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200601141040.00088.rjw@sisk.pl \
    --to=rjw@sisk.pl \
    --cc=ioe-lkml@rameria.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@osdl.org \
    --cc=pavel@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox