Revision 2aaf09a0e7842b3ac7be6e0b8fb1888b3daeb3b3 authored by Heiner Kallweit on 03 November 2020, 17:52:18 UTC, committed by Jakub Kicinski on 05 November 2020, 01:40:22 UTC
Network problems with RTL8125B have been reported [0] and with help from Realtek it turned out that this chip version has a hw problem with short packets (similar to RTL8168evl). Having said that activate the same workaround as for RTL8168evl. Realtek suggested to activate the workaround for RTL8125A too, even though they're not 100% sure yet which RTL8125 versions are affected. [0] https://bugzilla.kernel.org/show_bug.cgi?id=209839 Fixes: 0439297be951 ("r8169: add support for RTL8125B") Reported-by: Maxim Plotnikov <wgh@torlan.ru> Tested-by: Maxim Plotnikov <wgh@torlan.ru> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Link: https://lore.kernel.org/r/8002c31a-60b9-58f1-f0dd-8fd07239917f@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
1 parent ac6f929
page_reporting.h
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _MM_PAGE_REPORTING_H
#define _MM_PAGE_REPORTING_H
#include <linux/mmzone.h>
#include <linux/pageblock-flags.h>
#include <linux/page-isolation.h>
#include <linux/jump_label.h>
#include <linux/slab.h>
#include <linux/pgtable.h>
#include <linux/scatterlist.h>
#define PAGE_REPORTING_MIN_ORDER pageblock_order
#ifdef CONFIG_PAGE_REPORTING
DECLARE_STATIC_KEY_FALSE(page_reporting_enabled);
void __page_reporting_notify(void);
static inline bool page_reported(struct page *page)
{
return static_branch_unlikely(&page_reporting_enabled) &&
PageReported(page);
}
/**
* page_reporting_notify_free - Free page notification to start page processing
*
* This function is meant to act as a screener for __page_reporting_notify
* which will determine if a give zone has crossed over the high-water mark
* that will justify us beginning page treatment. If we have crossed that
* threshold then it will start the process of pulling some pages and
* placing them in the batch list for treatment.
*/
static inline void page_reporting_notify_free(unsigned int order)
{
/* Called from hot path in __free_one_page() */
if (!static_branch_unlikely(&page_reporting_enabled))
return;
/* Determine if we have crossed reporting threshold */
if (order < PAGE_REPORTING_MIN_ORDER)
return;
/* This will add a few cycles, but should be called infrequently */
__page_reporting_notify();
}
#else /* CONFIG_PAGE_REPORTING */
#define page_reported(_page) false
static inline void page_reporting_notify_free(unsigned int order)
{
}
#endif /* CONFIG_PAGE_REPORTING */
#endif /*_MM_PAGE_REPORTING_H */
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...