Re: [PATCH v2] net: fix functions and variables related to netns_ipvs->sysctl_sync_qlen_max

Julian Anastasov
2013-02-15T21:35:05Z

Hello,

On Thu, 14 Feb 2013, Andrew Morton wrote:

> On Thu, 7 Feb 2013 10:40:26 +0200 (EET)
> Julian Anastasov <ja@ssi.bg> wrote:
>
> > > Another question about the sysctl_sync_qlen_max:
> > > This variable is assigned as:
> > >
> > > ipvs->sysctl_sync_qlen_max = nr_free_buffer_pages() / 32;
> > >
> > > The function nr_free_buffer_pages actually means: counts of pages
> > > which are beyond high watermark within ZONE_DMA and ZONE_NORMAL.
> > >
> > > is it ok to be called here? Some people misused this function because
> > > the function name was misleading them. I am sorry I am totally not
> > > familiar with the ipvs code, so I am just asking you about
> > > this.
> >
> > Using nr_free_buffer_pages should be fine here.
> > We are using it as rough estimation for the number of sync
> > buffers we can use in NORMAL zones. We are using dev->mtu
> > for such buffers, so it can take a PAGE_SIZE for a buffer.
> > We are not interested in HIGHMEM size. high watermarks
> > should have negliable effect. I'm even not sure whether
> > we need to clamp it for systems with TBs of memory.
>
> Using nr_free_buffer_pages() is good-enough-for-now. There are
> questions around the name of this thing and its exact functionality and
> whether callers are using it appropriately. But if anything is changed
> there, it will be as part of kernel-wide sweep.
>
> One thing to bear in mind is memory hot[un]plug. Anything which was
> sized using nr_free_buffer_pages() (or similar) may become
> inappropriately sized if memory is added or removed. So any site which
> uses nr_free_buffer_pages() really should be associated with a hotplug
> handler and a great pile of code to resize the structure at runtime.
> It's pretty ugly stuff :( I suspect it usually Just Doesn't Matter.

I'll try to think on this hotplug problem
and also on the si_meminfo usage in net/netfilter/ipvs/ip_vs_ctl.c
which is quite wrong for systems with HIGHMEM, may be
we need there a free+reclaimable+file function for
NORMAL zone.

> Redarding this patch:
> net-change-type-of-netns_ipvs-sysctl_sync_qlen_max.patch and
> net-fix-functions-and-variables-related-to-netns_ipvs-sysctl_sync_qlen_max.patch
> are joined at the hip and should be redone as a single patch with a
> suitable changelog, please. And with a cc:netdev@vger.kernel.org.

Agreed, Zhang Yanfei and Simon? I'm just not sure,
may be this combined patch should hit only the
ipvs->nf->net trees? Or may be net-next, if we don't have
time for 3.8.

Regards

--
Julian Anastasov <ja@ssi.bg>