[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH hurd 1/5] libpager: remove the `seqno' parameters
From: |
Justus Winter |
Subject: |
[PATCH hurd 1/5] libpager: remove the `seqno' parameters |
Date: |
Wed, 10 Dec 2014 17:21:55 +0100 |
* libpager/Makefile (MIGSFLAGS): Drop `-DSEQNOS'.
* libpager/priv.h (struct pager): Drop fields `seqno' and `waitingforseqno'.
* libpager/chg-compl.c: Adopt accordingly.
* libpager/data-request.c: Likewise.
* libpager/data-return.c: Likewise.
* libpager/data-unlock.c: Likewise.
* libpager/demuxer.c: Likewise.
* libpager/lock-completed.c: Likewise.
* libpager/no-senders.c: Likewise.
* libpager/notify-stubs.c: Likewise.
* libpager/object-init.c: Likewise.
* libpager/object-terminate.c: Likewise.
* libpager/pager-create.c: Likewise.
* libpager/stubs.c: Likewise.
---
libpager/Makefile | 2 +-
libpager/chg-compl.c | 3 +--
libpager/data-request.c | 3 +--
libpager/data-return.c | 13 ++++++-------
libpager/data-unlock.c | 3 +--
libpager/demuxer.c | 4 ++--
libpager/lock-completed.c | 3 +--
libpager/no-senders.c | 3 +--
libpager/notify-stubs.c | 15 +++++----------
libpager/object-init.c | 3 +--
libpager/object-terminate.c | 3 +--
libpager/pager-create.c | 2 --
libpager/priv.h | 3 ---
libpager/stubs.c | 9 +++------
14 files changed, 24 insertions(+), 45 deletions(-)
diff --git a/libpager/Makefile b/libpager/Makefile
index a15a899..2bfd845 100644
--- a/libpager/Makefile
+++ b/libpager/Makefile
@@ -31,7 +31,7 @@ HURDLIBS= ports
LDLIBS += -lpthread
OBJS = $(SRCS:.c=.o) memory_objectServer.o notifyServer.o
-MIGSFLAGS = -DSEQNOS -imacros $(srcdir)/mig-mutate.h
+MIGSFLAGS = -imacros $(srcdir)/mig-mutate.h
MIGCOMSFLAGS = -prefix _pager_
include ../Makeconf
diff --git a/libpager/chg-compl.c b/libpager/chg-compl.c
index 89ccfc8..3ffe60a 100644
--- a/libpager/chg-compl.c
+++ b/libpager/chg-compl.c
@@ -22,8 +22,7 @@
when a memory_object_change_attributes call has completed. Read this
in combination with pager-attr.c. */
kern_return_t
-_pager_seqnos_memory_object_change_completed (struct pager *p,
- mach_port_seqno_t seq,
+_pager_S_memory_object_change_completed (struct pager *p,
boolean_t maycache,
memory_object_copy_strategy_t strat)
{
diff --git a/libpager/data-request.c b/libpager/data-request.c
index 18f3de6..7069fc8 100644
--- a/libpager/data-request.c
+++ b/libpager/data-request.c
@@ -22,8 +22,7 @@
/* Implement pagein callback as described in <mach/memory_object.defs>. */
kern_return_t
-_pager_seqnos_memory_object_data_request (struct pager *p,
- mach_port_seqno_t seqno,
+_pager_S_memory_object_data_request (struct pager *p,
mach_port_t control,
vm_offset_t offset,
vm_size_t length,
diff --git a/libpager/data-return.c b/libpager/data-return.c
index f16f323..01f3db2 100644
--- a/libpager/data-return.c
+++ b/libpager/data-return.c
@@ -21,13 +21,12 @@
#include <string.h>
#include <assert.h>
-/* Worker function used by _pager_seqnos_memory_object_data_return
- and _pager_seqnos_memory_object_data_initialize. All args are
- as for _pager_seqnos_memory_object_data_return; the additional
+/* Worker function used by _pager_S_memory_object_data_return
+ and _pager_S_memory_object_data_initialize. All args are
+ as for _pager_S_memory_object_data_return; the additional
INITIALIZING arg identifies which function is calling us. */
kern_return_t
_pager_do_write_request (struct pager *p,
- mach_port_seqno_t seqno,
mach_port_t control,
vm_offset_t offset,
pointer_t data,
@@ -113,6 +112,7 @@ _pager_do_write_request (struct pager *p,
than we really have to require (because *all* future writes on
this object are going to wait for seqno while we wait for the
previous write), but the case is relatively infrequent. */
+ /* XXX: Is this still needed? */
retry:
for (i = 0; i < npages; i++)
if (pm_entries[i] & PM_PAGINGOUT)
@@ -254,8 +254,7 @@ _pager_do_write_request (struct pager *p,
/* Implement pageout call back as described by <mach/memory_object.defs>. */
kern_return_t
-_pager_seqnos_memory_object_data_return (struct pager *p,
- mach_port_seqno_t seqno,
+_pager_S_memory_object_data_return (struct pager *p,
mach_port_t control,
vm_offset_t offset,
pointer_t data,
@@ -263,6 +262,6 @@ _pager_seqnos_memory_object_data_return (struct pager *p,
int dirty,
int kcopy)
{
- return _pager_do_write_request (p, seqno, control, offset, data,
+ return _pager_do_write_request (p, control, offset, data,
length, dirty, kcopy, 0);
}
diff --git a/libpager/data-unlock.c b/libpager/data-unlock.c
index 8c7c776..8c9680c 100644
--- a/libpager/data-unlock.c
+++ b/libpager/data-unlock.c
@@ -22,8 +22,7 @@
/* Implement kernel requests for access as described in
<mach/memory_object.defs>. */
kern_return_t
-_pager_seqnos_memory_object_data_unlock (struct pager *p,
- mach_port_seqno_t seqno,
+_pager_S_memory_object_data_unlock (struct pager *p,
mach_port_t control,
vm_offset_t offset,
vm_size_t length,
diff --git a/libpager/demuxer.c b/libpager/demuxer.c
index a06c4bf..57a6ccb 100644
--- a/libpager/demuxer.c
+++ b/libpager/demuxer.c
@@ -88,8 +88,8 @@ pager_demuxer (struct requests *requests,
error_t err = MIG_NO_REPLY;
mig_routine_t routine;
- if (! ((routine = _pager_seqnos_memory_object_server_routine (inp)) ||
- (routine = _pager_seqnos_notify_server_routine (inp))))
+ if (! ((routine = _pager_memory_object_server_routine (inp)) ||
+ (routine = _pager_notify_server_routine (inp))))
return FALSE;
#define MASK (8u - 1u)
diff --git a/libpager/lock-completed.c b/libpager/lock-completed.c
index 30b1dd3..4b0d87a 100644
--- a/libpager/lock-completed.c
+++ b/libpager/lock-completed.c
@@ -23,8 +23,7 @@
when a memory_object_lock_request call has completed. Read this
in combination with lock-object.c. */
kern_return_t
-_pager_seqnos_memory_object_lock_completed (struct pager *p,
- mach_port_seqno_t seqno,
+_pager_S_memory_object_lock_completed (struct pager *p,
mach_port_t control,
vm_offset_t offset,
vm_size_t length)
diff --git a/libpager/no-senders.c b/libpager/no-senders.c
index d0bbe27..b750101 100644
--- a/libpager/no-senders.c
+++ b/libpager/no-senders.c
@@ -21,8 +21,7 @@
#include "notify_S.h"
error_t
-_pager_do_seqnos_mach_notify_no_senders (struct port_info *pi,
- mach_port_seqno_t seqno,
+_pager_do_mach_notify_no_senders (struct port_info *pi,
mach_port_mscount_t mscount)
{
if (!pi ||
diff --git a/libpager/notify-stubs.c b/libpager/notify-stubs.c
index a826420..6440815 100644
--- a/libpager/notify-stubs.c
+++ b/libpager/notify-stubs.c
@@ -23,8 +23,7 @@
#include <errno.h>
error_t
-_pager_do_seqnos_mach_notify_port_deleted (struct port_info *pi,
- mach_port_seqno_t seqno,
+_pager_do_mach_notify_port_deleted (struct port_info *pi,
mach_port_t name
__attribute__ ((unused)))
{
@@ -32,8 +31,7 @@ _pager_do_seqnos_mach_notify_port_deleted (struct port_info
*pi,
}
error_t
-_pager_do_seqnos_mach_notify_msg_accepted (struct port_info *pi,
- mach_port_seqno_t seqno,
+_pager_do_mach_notify_msg_accepted (struct port_info *pi,
mach_port_t name
__attribute__ ((unused)))
{
@@ -41,8 +39,7 @@ _pager_do_seqnos_mach_notify_msg_accepted (struct port_info
*pi,
}
error_t
-_pager_do_seqnos_mach_notify_port_destroyed (struct port_info *pi,
- mach_port_seqno_t seqno,
+_pager_do_mach_notify_port_destroyed (struct port_info *pi,
mach_port_t name
__attribute__ ((unused)))
{
@@ -50,15 +47,13 @@ _pager_do_seqnos_mach_notify_port_destroyed (struct
port_info *pi,
}
error_t
-_pager_do_seqnos_mach_notify_send_once (struct port_info *pi,
- mach_port_seqno_t seqno)
+_pager_do_mach_notify_send_once (struct port_info *pi)
{
return 0;
}
error_t
-_pager_do_seqnos_mach_notify_dead_name (struct port_info *pi,
- mach_port_seqno_t seqno,
+_pager_do_mach_notify_dead_name (struct port_info *pi,
mach_port_t name
__attribute__ ((unused)))
{
diff --git a/libpager/object-init.c b/libpager/object-init.c
index eb62c44..619d28f 100644
--- a/libpager/object-init.c
+++ b/libpager/object-init.c
@@ -22,8 +22,7 @@
/* Implement the object initialiation call as described in
<mach/memory_object.defs>. */
kern_return_t
-_pager_seqnos_memory_object_init (struct pager *p,
- mach_port_seqno_t seqno,
+_pager_S_memory_object_init (struct pager *p,
mach_port_t control,
mach_port_t name,
vm_size_t pagesize)
diff --git a/libpager/object-terminate.c b/libpager/object-terminate.c
index e8c6f38..9529821 100644
--- a/libpager/object-terminate.c
+++ b/libpager/object-terminate.c
@@ -22,8 +22,7 @@
/* Implement the object termination call from the kernel as described
in <mach/memory_object.defs>. */
kern_return_t
-_pager_seqnos_memory_object_terminate (struct pager *p,
- mach_port_seqno_t seqno,
+_pager_S_memory_object_terminate (struct pager *p,
mach_port_t control,
mach_port_t name)
{
diff --git a/libpager/pager-create.c b/libpager/pager-create.c
index 1fc15b8..b583f02 100644
--- a/libpager/pager-create.c
+++ b/libpager/pager-create.c
@@ -42,10 +42,8 @@ pager_create (struct user_pager_info *upi,
p->notify_on_evict = notify_on_evict;
p->memobjcntl = MACH_PORT_NULL;
p->memobjname = MACH_PORT_NULL;
- p->seqno = -1;
p->noterm = 0;
p->termwaiting = 0;
- p->waitingforseqno = 0;
p->pagemap = 0;
p->pagemapsize = 0;
diff --git a/libpager/priv.h b/libpager/priv.h
index 4576e12..a45ae3f 100644
--- a/libpager/priv.h
+++ b/libpager/priv.h
@@ -55,12 +55,9 @@ struct pager
memory_object_control_t memobjcntl;
memory_object_name_t memobjname;
- mach_port_seqno_t seqno;
-
int noterm; /* number of threads blocking termination */
int termwaiting:1;
- int waitingforseqno:1;
#ifdef KERNEL_INIT_RACE
/* Out of sequence object_init calls waiting for
diff --git a/libpager/stubs.c b/libpager/stubs.c
index c7f1a5a..9a766ec 100644
--- a/libpager/stubs.c
+++ b/libpager/stubs.c
@@ -21,8 +21,7 @@
#include <stdio.h>
kern_return_t
-_pager_seqnos_memory_object_copy (struct pager *p,
- mach_port_seqno_t seq,
+_pager_S_memory_object_copy (struct pager *p,
memory_object_control_t obj_ctl,
vm_offset_t off,
vm_size_t len,
@@ -33,8 +32,7 @@ _pager_seqnos_memory_object_copy (struct pager *p,
}
kern_return_t
-_pager_seqnos_memory_object_data_write (struct pager *p,
- mach_port_seqno_t seq,
+_pager_S_memory_object_data_write (struct pager *p,
mach_port_t ctl,
vm_offset_t off,
pointer_t data,
@@ -45,8 +43,7 @@ _pager_seqnos_memory_object_data_write (struct pager *p,
}
kern_return_t
-_pager_seqnos_memory_object_supply_completed (struct pager *p,
- mach_port_seqno_t seq,
+_pager_S_memory_object_supply_completed (struct pager *p,
mach_port_t ctl,
vm_offset_t off,
vm_size_t len,
--
2.1.3
- [PATCH hurd 1/5] libpager: remove the `seqno' parameters,
Justus Winter <=
- [PATCH hurd 2/5] libpager: use libports notification functions, Justus Winter, 2014/12/10
- [PATCH hurd 3/5] ext2fs: tune the size of the inode cache, Justus Winter, 2014/12/10
- [PATCH hurd 5/5] Replace `bcopy' with `memcpy' or `memmove' as appropriate, Justus Winter, 2014/12/10
- [PATCH hurd 4/5] Replace `bzero' with `memset', Justus Winter, 2014/12/10
- Re: [PATCH hurd 1/5] libpager: remove the `seqno' parameters, Samuel Thibault, 2014/12/10