public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC/PATCH 5/5] madvice/fadvice: add execute in place support
@ 2005-05-11 14:30 Carsten Otte
  0 siblings, 0 replies; only message in thread
From: Carsten Otte @ 2005-05-11 14:30 UTC (permalink / raw)
  To: cotte; +Cc: linux-kernel, linux-fsdevel, schwidefsky, akpm

[RFC/PATCH 5/5] madvice/fadvice: add execute in place support
This patch makes sys_madvice and sys_fadvice return 0 on advices to
cache data assoctiated with files that do have get_xip_page. Since the
data for those is in memory anyway, we can just ignore the advice...

Signed-off-by: Carsten Otte <cotte@de.ibm.com>
---
diff -ruN linux-2.6-git/mm/fadvise.c linux-2.6-git-xip/mm/fadvise.c
--- linux-2.6-git/mm/fadvise.c	2005-05-10 11:17:27.000000000 +0200
+++ linux-2.6-git-xip/mm/fadvise.c	2005-05-10 13:39:55.886811280 +0200
@@ -43,6 +43,10 @@
 		goto out;
 	}

+	if (mapping->a_ops->get_xip_page)
+		/* no bad return value, but ignore advice */
+		goto out;
+
 	/* Careful about overflows. Len == 0 means "as much as possible" */
 	endbyte = offset + len;
 	if (!len || endbyte < len)
diff -ruN linux-2.6-git/mm/madvise.c linux-2.6-git-xip/mm/madvise.c
--- linux-2.6-git/mm/madvise.c	2005-05-10 11:17:27.000000000 +0200
+++ linux-2.6-git-xip/mm/madvise.c	2005-05-10 13:39:55.894810064 +0200
@@ -65,6 +65,10 @@
 	if (!file)
 		return -EBADF;

+	if (file->f_mapping->a_ops->get_xip_page)
+		/* no bad return value, but ignore advice */
+		return 0;
+
 	start = ((start - vma->vm_start) >> PAGE_SHIFT) + vma->vm_pgoff;
 	if (end > vma->vm_end)
 		end = vma->vm_end;



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-05-11 14:34 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-05-11 14:30 [RFC/PATCH 5/5] madvice/fadvice: add execute in place support Carsten Otte

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox