From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Thomas Subject: [PATCH] - return error when appropriate from increase_memory_reservation Date: Thu, 20 Apr 2006 14:04:23 -0400 Message-ID: <4447CD27.6080808@virtualiron.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------040203000908090204030001" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --------------040203000908090204030001 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit This patch fixes a case in increasing a memory reservation where you do not get the pages nor do you get an error. While an argument might be made that checking the page count independently is workable, it does seem reasonable to have the operation return a failure in the cases where it doesn't do what was asked. Right now, it mostly returns the correct status. This patch just adds another instance of this. And, while-I-was-there, I've been generating linker maps for qemu in my own builds. It's harmless, until you need it and then it's valuable. Tweak the Makefile to create the map. Signed-off-by: Ben Thomas (ben@virtualiron.com) -- ------------------------------------------------------------------------ Ben Thomas Virtual Iron Software bthomas@virtualiron.com Tower 1, Floor 2 978-849-1214 900 Chelmsford Street Lowell, MA 01851 --------------040203000908090204030001 Content-Type: text/plain; name="res.txt" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="res.txt" --- a/tools/ioemu/target-i386-dm/Makefile Fri Apr 14 14:31:13 2006 -0400 +++ b/tools/ioemu/target-i386-dm/Makefile Thu Apr 20 13:56:56 2006 -0400 @@ -323,7 +323,7 @@ endif endif $(QEMU_SYSTEM): $(VL_OBJS) libqemu.a - $(CC) $(CFLAGS) $(VL_LDFLAGS) -o $@ $^ $(LIBS) $(SDL_LIBS) $(VNC_LIBS) $(VL_LIBS) -lpthread + $(CC) $(CFLAGS) $(VL_LDFLAGS) -o $@ $^ $(LIBS) $(SDL_LIBS) $(VNC_LIBS) $(VL_LIBS) -lpthread -Wl,-Map,qemu-dm.map -Wl,--cref vnc.o: vnc.c keyboard_rdesktop.c $(CC) $(CFLAGS) $(DEFINES) $(VNC_CFLAGS) -c -o $@ $< diff -r 487f5e5c0fbd xen/common/memory.c --- a/xen/common/memory.c Fri Apr 14 14:31:13 2006 -0400 +++ b/xen/common/memory.c Thu Apr 20 13:56:56 2006 -0400 @@ -348,6 +348,9 @@ long do_memory_op(unsigned long cmd, GUE break; } + if (rc < reservation.nr_extents && !preempted) + return -ENOMEM; + if ( unlikely(reservation.domid != DOMID_SELF) ) put_domain(d); --------------040203000908090204030001 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --------------040203000908090204030001--