Re: [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: Memory allocations in .suspend became very unreliable)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 18 Jan 2010, Rafael J. Wysocki wrote:

> On Monday 18 January 2010, Alan Stern wrote:
> > On Mon, 18 Jan 2010, Oliver Neukum wrote:
> > 
> > > Am Montag, 18. Januar 2010 00:00:23 schrieb Rafael J. Wysocki:
> > > > On Sunday 17 January 2010, Benjamin Herrenschmidt wrote:
> > > > > On Sun, 2010-01-17 at 14:27 +0100, Rafael J. Wysocki wrote:
> > > > ...
> > > > > However, it's hard to deal with the case of allocations that have
> > > > > already started waiting for IOs. It might be possible to have some VM
> > > > > hook to make them wakeup, re-evaluate the situation and get out of that
> > > > > code path but in any case it would be tricky.
> > > > 
> > > > In the second version of the patch I used an rwsem that made us wait for these
> > > > allocations to complete before we changed gfp_allowed_mask.
> > > 
> > > This will be a very, very hot semaphore. What's the impact on performance?
> > 
> > Can it be replaced with something having lower overhead, such as SRCU?
> 
> I'm not sure about that.  In principle SRCU shouldn't be used if the reader can
> sleep unpredictably long and the memory allocation sutiation is one of these.

I don't think this matters.  Each SRCU usage has its own domain, and
different domains don't affect one another.  So the only thing that
would be blocked by a long-sleeping reader would be the suspend process
itself, and obviously you won't mind that.

Alan Stern

_______________________________________________
linux-pm mailing list
linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux