Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Apr 2017 20:12:29 -0700
From:      Cy Schubert <Cy.Schubert@komquats.com>
To:        Cy Schubert <Cy.Schubert@komquats.com>
Cc:        Michael Tuexen <tuexen@FreeBSD.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r317208 - head/sys/netinet
Message-ID:  <201704210312.v3L3CTKK086513@slippy.cwsent.com>
In-Reply-To: Message from Cy Schubert <Cy.Schubert@komquats.com> of "Thu, 20 Apr 2017 18:43:09 -0700." <201704210143.v3L1h99s037727@slippy.cwsent.com>

next in thread | previous in thread | raw e-mail | index | archive | help
In message <201704210143.v3L1h99s037727@slippy.cwsent.com>, Cy Schubert 
writes:
> In message <201704201919.v3KJJYko052651@repo.freebsd.org>, Michael Tuexen 
> write
> s:
> > Author: tuexen
> > Date: Thu Apr 20 19:19:33 2017
> > New Revision: 317208
> > URL: https://svnweb.freebsd.org/changeset/base/317208
> > 
> > Log:
> >   Syncoockies can be used in combination with the syncache. If the cache
> >   overflows, syncookies are used.
> >   This patch restricts the usage of syncookies in this case: accept
> >   syncookies only if there was an overflow of the syncache recently.
> >   This mitigates a problem reported in PR217637, where is syncookie was
> >   accepted without any recent drops.
> >   Thanks to glebius@ for suggesting an improvement.
> >   
> >   PR:			217637
> >   Reviewed by:		gnn, glebius
> >   MFC after:		1 week
> >   Sponsored by:		Netflix, Inc.
> >   Differential Revision:	https://reviews.freebsd.org/D10272
> > 
> > Modified:
> >   head/sys/netinet/tcp_syncache.c
> >   head/sys/netinet/tcp_syncache.h
> > 
> > Modified: head/sys/netinet/tcp_syncache.c
> > ===========================================================================
> ==
> > =
> > --- head/sys/netinet/tcp_syncache.c	Thu Apr 20 19:14:52 2017	(r31720
> > 7)
> > +++ head/sys/netinet/tcp_syncache.c	Thu Apr 20 19:19:33 2017	(r31720
> > 8)
> > @@ -260,6 +260,7 @@ syncache_init(void)
> >  			 &V_tcp_syncache.hashbase[i].sch_mtx, 0);
> >  		V_tcp_syncache.hashbase[i].sch_length = 0;
> >  		V_tcp_syncache.hashbase[i].sch_sc = &V_tcp_syncache;
> > +		V_tcp_syncache.hashbase[i].sch_last_overflow = INT64_MIN;
> 
> 
> Hi Michael,
> 
> This line produced the following on i386:
> 
> /opt/src/svn-current/sys/netinet/tcp_syncache.c:263:50: error: implicit 
> conversion from 'long long' to 'time_t' (aka 'int') changes value from 
> -9223372036854775808 to 0 [-Werror,-Wconstant-conversion]
>                 V_tcp_syncache.hashbase[i].sch_last_overflow = INT64_MIN;
>                                                              ~ ^~~~~~~~~
> ./x86/_stdint.h:91:41: note: expanded from macro 'INT64_MIN'
> #define INT64_MIN       (-0x7fffffffffffffffLL-1)
>                          ~~~~~~~~~~~~~~~~~~~~~^~
> 
> Looks like it needs a time_t cast.

Playing with it for a short while, a cast doesn't produce the desired 
results. My solution is ugly so far.


-- 
Cheers,
Cy Schubert <Cy.Schubert@cschubert.com>
FreeBSD UNIX:  <cy@FreeBSD.org>   Web:  http://www.FreeBSD.org

	The need of the many outweighs the greed of the few.





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201704210312.v3L3CTKK086513>