bug-hurd
[Top][All Lists]
Advanced

[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 ?" -+-



reply via email to

[Prev in Thread] Current Thread [Next in Thread]