On Tue, Jul 14, 2020 at 6:32 AM Flavio Leitner <f...@sysclose.org> wrote:
>
> On Mon, Jul 13, 2020 at 02:49:50PM -0700, William Tu wrote:
> > On Fri, Jul 10, 2020 at 12:12:57PM -0300, Flavio Leitner wrote:
> > > On Fri, Jul 10, 2020 at 12:53:13PM +0100, Ross Lagerwall wrote:
> > > > mlockall locks thread stack pages into memory, even pages which have not
> > > > yet been demand-paged.  As vswitchd has a lot of threads and the default
> > > > stack size on x86_64 is 8 MiB, this consumes a lot of memory.  On two
> > > > systems I looked at, vswitchd used ~150 MiB of RSS when idle after
> > > > startup.
> > > >
> > > > Use the new MCL_ONFAULT flag to only lock pages into memory once they
> > > > have been demand-paged in. This still satisfies the requirement that
> > > > vswitchd is not swapped out but frees up ~144 MiB of unswappable memory
> > > > (18 threads x 8 MiB).  After this, vswitchd uses ~6 MiB when idle after
> > > > startup.
> > >
> > > The problem with this approach is that when using userspace datapath
> > > those page faults can introduce scheduling points which introduces
> > > jitter and impacts performance.
> > >
> > I like this idea of using MCL_ONFAULT.
> > IIUC, the performance impact only happens first time when page fault
> > happens, and afterward, it should have the same performance.
>
> Yes, there is a performance impact only when the page fault happens.
>
> The issue is that we can't tell when it is going to happen. Some
> page faults will happen at the initialization, which is fine, but
> some might happen when there is production traffic.
>
> The thread is preempted and all the ongoing traffic is impacted
> when that page fault happens. Therefore, this has a potential
> of affecting "zero" packet loss, for instance, which is important
> to Telco deployments.

I see, that makes sense, thanks for the detail.
>
> It seems we have two relevant use cases here with conflicting
> requirements. I don't think we can just change current behavior
> without announcing first and still the current behavior is desired
> for those who don't want surprises with page faults.
>
> Perhaps we can leave --mlockall as is to avoid possible regressions,
> and add another way to express the on demand use case?
>
Agree
Thanks,
William
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to