Date: Thu, 3 Feb 2011 12:38:24 -0800 From: Juli Mallett <jmallett@FreeBSD.org> To: John Baldwin <jhb@freebsd.org> Cc: svn-src-head@freebsd.org, Randall Stewart <rrs@freebsd.org>, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r218232 - head/sys/netinet Message-ID: <AANLkTikLJ_fAFiFWCm%2Bwnrzb-1EF%2Bf4rOzTufSHUe7Ky@mail.gmail.com> In-Reply-To: <201102031529.25072.jhb@freebsd.org> References: <201102031922.p13JML8i055697@svn.freebsd.org> <201102031529.25072.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Feb 3, 2011 at 12:29, John Baldwin <jhb@freebsd.org> wrote: >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 ip =3D mtod(m, struct ip *); >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 offset =3D off + sizeof(*sh); >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 if (SCTP_BUF_LEN(m) < offset) { >> @@ -5944,7 +5947,7 @@ sctp_input(struct mbuf *m, int off) >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 ip =3D mtod(m, struct ip *); >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 } >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 sh =3D (struct sctphdr *)((caddr_t)ip + off)= ; >> - =A0 =A0 =A0 =A0 =A0 =A0 cpu_to_use =3D ntohl(sh->v_tag) % mp_ncpus; >> + =A0 =A0 =A0 =A0 =A0 =A0 cpu_to_use =3D ntohl(sh->v_tag) % mp_maxid; > > Hmmm, this is more complicated. =A0 Can sctp_queue_to_mcore() handle the = fact > that a cpu_to_use value might not be valid? =A0If not you might want to m= aintain > a separate "dense" virtual CPU ID table numbered 0 .. mp_ncpus - 1 that m= aps > to "present" FreeBSD CPU IDs. =A0I think Robert has done something simila= r to > support RSS in TCP. =A0Does that make sense? Plus mp_maxid is inclusive, so rrs probably meant (mp_maxid + 1) not mp_maxid in that modulus.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTikLJ_fAFiFWCm%2Bwnrzb-1EF%2Bf4rOzTufSHUe7Ky>