Re: cross-gcc for itanium
Date: Sun, 18 Sep 2011 05:06:04 +0300 From: Paul Irofti p...@irofti.net This makes the cross-gcc target for ia64 build, okay? That is gcc3 stuff. You should use gcc4 for ia64.
bgpd initial graceful restart support
Please test this diff whereever possible and make sure it does not cause troubles with certain peers for you. This is the first bit of support of graceful restart. The diff only implements the procedures for the receiving speaker (aka the box that was not restarted). So bgpd will not preserve its rouing table accross restarts (that's for later) but will do the handling when a GR capable neighbor restarts. Note: bgpd will not announce the graceful restart capability by default. Use announce restart yes to turn it on. I will probably commit this later this week so you have been warned :) -- :wq Claudio Index: bgpctl/bgpctl.c === RCS file: /cvs/src/usr.sbin/bgpctl/bgpctl.c,v retrieving revision 1.161 diff -u -p -r1.161 bgpctl.c --- bgpctl/bgpctl.c 2 Sep 2010 14:03:21 - 1.161 +++ bgpctl/bgpctl.c 18 Sep 2011 08:44:00 - @@ -51,6 +51,7 @@ intshow_summary_terse_msg(struct imsg int show_neighbor_terse(struct imsg *); int show_neighbor_msg(struct imsg *, enum neighbor_views); voidprint_neighbor_capa_mp(struct peer *); +voidprint_neighbor_capa_restart(struct peer *); voidprint_neighbor_msgstats(struct peer *); voidprint_timer(const char *, time_t); static char*fmt_timeframe(time_t t); @@ -157,7 +158,7 @@ main(int argc, char *argv[]) case NONE: case IRRFILTER: usage(); - /* not reached */ + /* NOTREACHED */ case SHOW: case SHOW_SUMMARY: imsg_compose(ibuf, IMSG_CTL_SHOW_NEIGHBOR, 0, 0, -1, NULL, 0); @@ -596,7 +597,7 @@ show_neighbor_msg(struct imsg *imsg, enu if (p-capa.peer.mp[i]) hascapamp = 1; if (hascapamp || p-capa.peer.refresh || - p-capa.peer.restart || p-capa.peer.as4byte) { + p-capa.peer.grestart.restart || p-capa.peer.as4byte) { printf( Neighbor capabilities:\n); if (hascapamp) { printf(Multiprotocol extensions: ); @@ -605,8 +606,11 @@ show_neighbor_msg(struct imsg *imsg, enu } if (p-capa.peer.refresh) printf(Route Refresh\n); - if (p-capa.peer.restart) - printf(Graceful Restart\n); + if (p-capa.peer.grestart.restart) { + printf(Graceful Restart); + print_neighbor_capa_restart(p); + printf(\n); + } if (p-capa.peer.as4byte) printf(4-byte AS numbers\n); } @@ -669,6 +673,28 @@ print_neighbor_capa_mp(struct peer *p) for (i = 0, comma = 0; i AID_MAX; i++) if (p-capa.peer.mp[i]) { printf(%s%s, comma ? , : , aid2str(i)); + comma = 1; + } +} + +void +print_neighbor_capa_restart(struct peer *p) +{ + int comma; + u_int8_ti; + + if (p-capa.peer.grestart.timeout) + printf(: Timeout: %d, , p-capa.peer.grestart.timeout); + for (i = 0, comma = 0; i AID_MAX; i++) + if (p-capa.peer.grestart.flags[i] CAPA_GR_PRESENT) { + if (!comma + p-capa.peer.grestart.flags[i] CAPA_GR_RESTART) + printf(restarted, ); + if (comma) + printf(, ); + printf(%s, aid2str(i)); + if (p-capa.peer.grestart.flags[i] CAPA_GR_FORWARD) + printf( (preserved)); comma = 1; } } Index: bgpd/bgpd.h === RCS file: /cvs/src/usr.sbin/bgpd/bgpd.h,v retrieving revision 1.264 diff -u -p -r1.264 bgpd.h --- bgpd/bgpd.h 1 May 2011 12:56:04 - 1.264 +++ bgpd/bgpd.h 5 May 2011 17:45:50 - @@ -252,12 +252,24 @@ struct peer_auth { }; struct capabilities { - int8_t mp[AID_MAX];/* multiprotocol extensions, RFC 4760 */ - int8_t refresh;/* route refresh, RFC 2918 */ - int8_t restart;/* graceful restart, RFC 4724 */ - int8_t as4byte;/* draft-ietf-idr-as4bytes-13 */ + struct { + int16_t timeout;/* graceful restart timeout */ + int8_t flags[AID_MAX]; /* graceful restart per AID flags */ + int8_t restart;/* graceful restart, RFC 4724 */ + } grestart; + int8_t mp[AID_MAX];/* multiprotocol extensions, RFC 4760 */ + int8_t refresh;
Do less work under splusb()
Does this make sense? -m. Index: ehci.c === RCS file: /var/ocvs/src/sys/dev/usb/ehci.c,v retrieving revision 1.118 diff -u -p -r1.118 ehci.c --- ehci.c 10 Jul 2011 17:34:53 - 1.118 +++ ehci.c 18 Sep 2011 20:11:10 - @@ -2478,10 +2478,10 @@ ehci_alloc_sqtd(ehci_softc_t *sc) s = splusb(); sqtd = sc-sc_freeqtds; sc-sc_freeqtds = sqtd-nextqtd; + splx(s); memset(sqtd-qtd, 0, sizeof(ehci_qtd_t)); sqtd-nextqtd = NULL; sqtd-xfer = NULL; - splx(s); return (sqtd); } -- moid no, it's a recursive acronym. It means gcc can't compile
Re: hide kernel threads in ps?
Having muttered a bunch, I'm in favor of this. One last comment: On Wed, Aug 31, 2011 at 2:17 AM, Uwe Stuehler u...@openbsd.org wrote: --- bin/ps/ps.1 6 Jul 2011 21:42:11 - 1.76 +++ bin/ps/ps.1 31 Aug 2011 09:01:06 - ... +.It Fl H +Also display information about kernel visible process threads. +This flag only applies when the +.Sq kern.rthreads +sysctl variable is non-zero and there are processes that use kernel +threading. I think the second sentence there should be left out. The flag always applies: you just won't see any difference if you don't have any kernel visible threads. ps(1) isn't the place for how to create different types of threads, IMO. And yes, I think kernel visible process threads should be just kernel visible threads. If there are no objections, I'll commit this with the ps.1 diff reduced to: --- ps.16 Jul 2011 21:42:11 - 1.76 +++ ps.118 Sep 2011 23:27:44 - @@ -39,7 +39,7 @@ .Sh SYNOPSIS .Nm ps .Sm off -.Op Fl aCcehjkLlmrSTuvwx +.Op Fl aCceHhjkLlmrSTuvwx .Sm on .Op Fl M Ar core .Op Fl N Ar system @@ -89,6 +89,8 @@ scripts will show as .Dq sh . .It Fl e Display the environment as well. +.It Fl H +Also display information about kernel visible threads. .It Fl h Repeat the information header as often as necessary to guarantee one header per page of information. Philip Guenther
Re: hide kernel threads in ps?
On Sun, Sep 18, 2011 at 04:28:28PM -0700, Philip Guenther wrote: If there are no objections, I'll commit this with the ps.1 diff reduced to: ... +.It Fl H +Also display information about kernel visible threads. The distinction betwen kernel threads and kernel visible threads is certainly obvious to everyone, but this also seems more consise to me. Having said that, I'm fine with the shortened paragraph. Cheers
Tecnicas de negociacion
TICNICAS DE NEGOCIACISN (curso en un CD para realizar en su casa en sus ratos libres desde su PC sin necesidad de asistir a seminarios ni clases) Incluye archivos mp3 para escuchar en el auto o mientras realiza sus actividades diarias INCLUYE Habilidades En La Comunicacisn Para El Logro De Una Negociacisn Efectiva. Comprensisn Acerca De Los Diferentes Tipos, Niveles Y Etapas Del Proceso De Negociacisn Ticnicas De Negociacisn Proceso De Resolucisn De Conflictos El Arte De Manejar Las Conversaciones Negociar Desde El Mando El Lenguaje Negociar Con Personas Abusivas Reglas De Oro En Negociaciones Hoja De Ruta Para Un Acuerdo Negociar Sin Romper Relaciones Ni Rendirse Formas De Manejar El Conflicto En Una Mesa Negociadora. Grupos De Trabajo: Csmo Negociar Las Disputas Internas. Negociar La Delegacisn De Tareas. Los Juegos De Poder En Una Negociacisn Negociacisn Y El Conflicto: Csmo Detectarlo Csmo Negociar A Partir Del Caos. Interlocutor Difmcil... Escucha Activa El Estilo De Negociacisn Japonis Negociando Un Contrato 10 Puntos No Negociables La Inteligencia Emocional Y El Negociador La Negociacisn. El Arbitraje. La Mediacisn Ademas: Como Identificar La Personalidad De Tu Oponente Negociacion Espiritual Ngociacion Con La Pareja Y Los Hijos Negociacion Jefe Empleado Cierres En La Negociacion Y muchos temas mas. El contenido completo se entrega en un CD. Costo total del curso completo: $150 Solicitelo enviando un mail a: cursos_administrac...@hotmail.com indicando su nombre direccisn, localidad y csdigo postal. Se lo enviamos sin cargo por Correo Argentino contra reembolso. Envmos a capital por mensajeria (indique el horario de su preferencia)