[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH hurd 1/5] libpager: remove the `seqno' parameters
From: |
Samuel Thibault |
Subject: |
Re: [PATCH hurd 1/5] libpager: remove the `seqno' parameters |
Date: |
Thu, 11 Dec 2014 01:07:57 +0100 |
User-agent: |
Mutt/1.5.21+34 (58baf7c9f32f) (2010-12-30) |
Justus Winter, le Wed 10 Dec 2014 17:21:55 +0100, a écrit :
> * 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.
Ack.
> ---
> 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
>
--
Samuel
Linux, c'est simple : ça s'adresse à une machine qui est parfois un peu
maraboutée mais qui d'habitude n'a pas d'états d'âme. Sur Usenet y'a
plein d'humains et de primates, et ça devient vraiment gore par moment.
-+- TP in : Guide du linuxien pervers - "Le linuxien a-t-il une âme ?" -+-