From 74d00a8c3849c1340efd713eb94b786e304c201f Mon Sep 17 00:00:00 2001 From: John Crispin Date: Sun, 25 Dec 2016 20:11:34 +0100 Subject: kernel: split patches folder up into backport, pending and hack folders * properly format/comment all patches * merge debloat patches * merge Kconfig patches * merge swconfig patches * merge hotplug patches * drop 200-fix_localversion.patch - upstream * drop 222-arm_zimage_none.patch - unused * drop 252-mv_cesa_depends.patch - no longer required * drop 410-mtd-move-forward-declaration-of-struct-mtd_info.patch - unused * drop 661-fq_codel_keep_dropped_stats.patch - outdated * drop 702-phy_add_aneg_done_function.patch - upstream * drop 840-rtc7301.patch - unused * drop 841-rtc_pt7c4338.patch - upstream * drop 921-use_preinit_as_init.patch - unused * drop spio-gpio-old and gpio-mmc - unused Signed-off-by: John Crispin --- ...softlimit-and-delta-fields-from-struct-ub.patch | 82 ++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 target/linux/generic/backport-4.9/030-01-ubifs-Drop-softlimit-and-delta-fields-from-struct-ub.patch (limited to 'target/linux/generic/backport-4.9/030-01-ubifs-Drop-softlimit-and-delta-fields-from-struct-ub.patch') diff --git a/target/linux/generic/backport-4.9/030-01-ubifs-Drop-softlimit-and-delta-fields-from-struct-ub.patch b/target/linux/generic/backport-4.9/030-01-ubifs-Drop-softlimit-and-delta-fields-from-struct-ub.patch new file mode 100644 index 0000000000..8e1f312a0b --- /dev/null +++ b/target/linux/generic/backport-4.9/030-01-ubifs-Drop-softlimit-and-delta-fields-from-struct-ub.patch @@ -0,0 +1,82 @@ +From 854826c9d526fd81077742c3b000e3f7fcaef3ce Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= +Date: Tue, 20 Sep 2016 10:36:14 +0200 +Subject: [PATCH] ubifs: Drop softlimit and delta fields from struct ubifs_wbuf +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Values of these fields are set during init and never modified. They are +used (read) in a single function only. There isn't really any reason to +keep them in a struct. It only makes struct just a bit bigger without +any visible gain. + +Signed-off-by: Rafał Miłecki +Reviewed-by: Boris Brezillon +Signed-off-by: Richard Weinberger +--- + fs/ubifs/io.c | 18 ++++++++++-------- + fs/ubifs/ubifs.h | 5 ----- + 2 files changed, 10 insertions(+), 13 deletions(-) + +--- a/fs/ubifs/io.c ++++ b/fs/ubifs/io.c +@@ -452,16 +452,22 @@ static enum hrtimer_restart wbuf_timer_c + */ + static void new_wbuf_timer_nolock(struct ubifs_wbuf *wbuf) + { ++ ktime_t softlimit = ktime_set(WBUF_TIMEOUT_SOFTLIMIT, 0); ++ unsigned long long delta; ++ ++ delta = WBUF_TIMEOUT_HARDLIMIT - WBUF_TIMEOUT_SOFTLIMIT; ++ delta *= 1000000000ULL; ++ + ubifs_assert(!hrtimer_active(&wbuf->timer)); ++ ubifs_assert(delta <= ULONG_MAX); + + if (wbuf->no_timer) + return; + dbg_io("set timer for jhead %s, %llu-%llu millisecs", + dbg_jhead(wbuf->jhead), +- div_u64(ktime_to_ns(wbuf->softlimit), USEC_PER_SEC), +- div_u64(ktime_to_ns(wbuf->softlimit) + wbuf->delta, +- USEC_PER_SEC)); +- hrtimer_start_range_ns(&wbuf->timer, wbuf->softlimit, wbuf->delta, ++ div_u64(ktime_to_ns(softlimit), USEC_PER_SEC), ++ div_u64(ktime_to_ns(softlimit) + delta, USEC_PER_SEC)); ++ hrtimer_start_range_ns(&wbuf->timer, softlimit, delta, + HRTIMER_MODE_REL); + } + +@@ -1059,10 +1065,6 @@ int ubifs_wbuf_init(struct ubifs_info *c + + hrtimer_init(&wbuf->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); + wbuf->timer.function = wbuf_timer_callback_nolock; +- wbuf->softlimit = ktime_set(WBUF_TIMEOUT_SOFTLIMIT, 0); +- wbuf->delta = WBUF_TIMEOUT_HARDLIMIT - WBUF_TIMEOUT_SOFTLIMIT; +- wbuf->delta *= 1000000000ULL; +- ubifs_assert(wbuf->delta <= ULONG_MAX); + return 0; + } + +--- a/fs/ubifs/ubifs.h ++++ b/fs/ubifs/ubifs.h +@@ -645,9 +645,6 @@ typedef int (*ubifs_lpt_scan_callback)(s + * @io_mutex: serializes write-buffer I/O + * @lock: serializes @buf, @lnum, @offs, @avail, @used, @next_ino and @inodes + * fields +- * @softlimit: soft write-buffer timeout interval +- * @delta: hard and soft timeouts delta (the timer expire interval is @softlimit +- * and @softlimit + @delta) + * @timer: write-buffer timer + * @no_timer: non-zero if this write-buffer does not have a timer + * @need_sync: non-zero if the timer expired and the wbuf needs sync'ing +@@ -676,8 +673,6 @@ struct ubifs_wbuf { + int (*sync_callback)(struct ubifs_info *c, int lnum, int free, int pad); + struct mutex io_mutex; + spinlock_t lock; +- ktime_t softlimit; +- unsigned long long delta; + struct hrtimer timer; + unsigned int no_timer:1; + unsigned int need_sync:1; -- cgit v1.2.3