ixgbe: support skb->xmit_more in netdev_ops->ndo_start_xmit()
[firefly-linux-kernel-4.4.55.git] / mm / page-writeback.c
index 518e2c3f4c75f0014a03817b4910cf4050a2f480..91d73ef1744d6fbc5c4bbdf9782beb3b3e22da6b 100644 (file)
@@ -261,14 +261,11 @@ static unsigned long global_dirtyable_memory(void)
  */
 void global_dirty_limits(unsigned long *pbackground, unsigned long *pdirty)
 {
+       const unsigned long available_memory = global_dirtyable_memory();
        unsigned long background;
        unsigned long dirty;
-       unsigned long uninitialized_var(available_memory);
        struct task_struct *tsk;
 
-       if (!vm_dirty_bytes || !dirty_background_bytes)
-               available_memory = global_dirtyable_memory();
-
        if (vm_dirty_bytes)
                dirty = DIV_ROUND_UP(vm_dirty_bytes, PAGE_SIZE);
        else
@@ -1306,9 +1303,9 @@ static inline void bdi_dirty_limits(struct backing_dev_info *bdi,
        *bdi_thresh = bdi_dirty_limit(bdi, dirty_thresh);
 
        if (bdi_bg_thresh)
-               *bdi_bg_thresh = div_u64((u64)*bdi_thresh *
-                                        background_thresh,
-                                        dirty_thresh);
+               *bdi_bg_thresh = dirty_thresh ? div_u64((u64)*bdi_thresh *
+                                                       background_thresh,
+                                                       dirty_thresh) : 0;
 
        /*
         * In order to avoid the stacked BDI deadlock we need