Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Four minor merge conflicts: 1) qca_spi.c renamed the local variable used for the SPI device from spi_device to spi, meanwhile the spi_set_drvdata() call got moved further up in the probe function. 2) Two changes were both adding new members to codel params structure, and thus we had overlapping changes to the initializer function. 3) 'net' was making a fix to sk_release_kernel() which is completely removed in 'net-next'. 4) In net_namespace.c, the rtnl_net_fill() call for GET operations had the command value fixed, meanwhile 'net-next' adjusted the argument signature a bit. This also matches example merge resolutions posted by Stephen Rothwell over the past two days. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
b04096ff33
410 changed files with 5370 additions and 4567 deletions
|
@ -34,13 +34,13 @@ static int hwpoison_inject(void *data, u64 val)
|
|||
if (!hwpoison_filter_enable)
|
||||
goto inject;
|
||||
|
||||
if (!PageLRU(p) && !PageHuge(p))
|
||||
shake_page(p, 0);
|
||||
if (!PageLRU(hpage) && !PageHuge(p))
|
||||
shake_page(hpage, 0);
|
||||
/*
|
||||
* This implies unable to support non-LRU pages.
|
||||
*/
|
||||
if (!PageLRU(p) && !PageHuge(p))
|
||||
return 0;
|
||||
if (!PageLRU(hpage) && !PageHuge(p))
|
||||
goto put_out;
|
||||
|
||||
/*
|
||||
* do a racy check with elevated page count, to make sure PG_hwpoison
|
||||
|
@ -52,11 +52,14 @@ static int hwpoison_inject(void *data, u64 val)
|
|||
err = hwpoison_filter(hpage);
|
||||
unlock_page(hpage);
|
||||
if (err)
|
||||
return 0;
|
||||
goto put_out;
|
||||
|
||||
inject:
|
||||
pr_info("Injecting memory failure at pfn %#lx\n", pfn);
|
||||
return memory_failure(pfn, 18, MF_COUNT_INCREASED);
|
||||
put_out:
|
||||
put_page(hpage);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int hwpoison_unpoison(void *data, u64 val)
|
||||
|
|
|
@ -1187,10 +1187,10 @@ int memory_failure(unsigned long pfn, int trapno, int flags)
|
|||
* The check (unnecessarily) ignores LRU pages being isolated and
|
||||
* walked by the page reclaim code, however that's not a big loss.
|
||||
*/
|
||||
if (!PageHuge(p) && !PageTransTail(p)) {
|
||||
if (!PageLRU(p))
|
||||
shake_page(p, 0);
|
||||
if (!PageLRU(p)) {
|
||||
if (!PageHuge(p)) {
|
||||
if (!PageLRU(hpage))
|
||||
shake_page(hpage, 0);
|
||||
if (!PageLRU(hpage)) {
|
||||
/*
|
||||
* shake_page could have turned it free.
|
||||
*/
|
||||
|
@ -1777,12 +1777,12 @@ int soft_offline_page(struct page *page, int flags)
|
|||
} else if (ret == 0) { /* for free pages */
|
||||
if (PageHuge(page)) {
|
||||
set_page_hwpoison_huge_page(hpage);
|
||||
dequeue_hwpoisoned_huge_page(hpage);
|
||||
atomic_long_add(1 << compound_order(hpage),
|
||||
if (!dequeue_hwpoisoned_huge_page(hpage))
|
||||
atomic_long_add(1 << compound_order(hpage),
|
||||
&num_poisoned_pages);
|
||||
} else {
|
||||
SetPageHWPoison(page);
|
||||
atomic_long_inc(&num_poisoned_pages);
|
||||
if (!TestSetPageHWPoison(page))
|
||||
atomic_long_inc(&num_poisoned_pages);
|
||||
}
|
||||
}
|
||||
unset_migratetype_isolate(page, MIGRATE_MOVABLE);
|
||||
|
|
|
@ -580,7 +580,7 @@ static long long pos_ratio_polynom(unsigned long setpoint,
|
|||
long x;
|
||||
|
||||
x = div64_s64(((s64)setpoint - (s64)dirty) << RATELIMIT_CALC_SHIFT,
|
||||
limit - setpoint + 1);
|
||||
(limit - setpoint) | 1);
|
||||
pos_ratio = x;
|
||||
pos_ratio = pos_ratio * x >> RATELIMIT_CALC_SHIFT;
|
||||
pos_ratio = pos_ratio * x >> RATELIMIT_CALC_SHIFT;
|
||||
|
@ -807,7 +807,7 @@ static unsigned long bdi_position_ratio(struct backing_dev_info *bdi,
|
|||
* scale global setpoint to bdi's:
|
||||
* bdi_setpoint = setpoint * bdi_thresh / thresh
|
||||
*/
|
||||
x = div_u64((u64)bdi_thresh << 16, thresh + 1);
|
||||
x = div_u64((u64)bdi_thresh << 16, thresh | 1);
|
||||
bdi_setpoint = setpoint * (u64)x >> 16;
|
||||
/*
|
||||
* Use span=(8*write_bw) in single bdi case as indicated by
|
||||
|
@ -822,7 +822,7 @@ static unsigned long bdi_position_ratio(struct backing_dev_info *bdi,
|
|||
|
||||
if (bdi_dirty < x_intercept - span / 4) {
|
||||
pos_ratio = div64_u64(pos_ratio * (x_intercept - bdi_dirty),
|
||||
x_intercept - bdi_setpoint + 1);
|
||||
(x_intercept - bdi_setpoint) | 1);
|
||||
} else
|
||||
pos_ratio /= 4;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue