Age | Commit message (Expand) | Author | Files | Lines |
2017-06-28 | block: provide bio_uninit() free freeing integrity/task associations | Jens Axboe | 1 | -3/+9 |
2017-06-21 | blk-mq: fix performance regression with shared tags | Jens Axboe | 3 | -24/+59 |
2017-06-14 | block: Fix a blk_exit_rl() regression | Bart Van Assche | 1 | -12/+22 |
2017-06-08 | block, bfq: access and cache blkg data only when safe | Paolo Valente | 3 | -36/+105 |
2017-06-07 | blk-throttle: set default latency baseline for harddisk | Shaohua Li | 1 | -3/+17 |
2017-06-07 | blk-throttle: fix NULL pointer dereference in throtl_schedule_pending_timer | Joseph Qi | 1 | -1/+1 |
2017-06-06 | blk-mq: fix direct issue | Ming Lei | 1 | -7/+13 |
2017-06-06 | blk-mq: pass correct hctx to blk_mq_try_issue_directly | Ming Lei | 1 | -1/+4 |
2017-06-03 | bio-integrity: Do not allocate integrity context for bio w/o data | Dmitry Monakhov | 1 | -0/+3 |
2017-06-01 | block: Avoid that blk_exit_rl() triggers a use-after-free | Bart Van Assche | 4 | -5/+11 |
2017-05-31 | cfq-iosched: fix the delay of cfq_group's vdisktime under iops mode | Hou Tao | 1 | -2/+15 |
2017-05-30 | blk-mq: Take tagset lock when updating hw queues | Keith Busch | 1 | -1/+9 |
2017-05-26 | Merge branch 'nvme-4.12' of git://git.infradead.org/nvme into for-linus | Jens Axboe | 1 | -19/+0 |
2017-05-26 | blk-mq: Only register debugfs attributes for blk-mq queues | Bart Van Assche | 1 | -3/+3 |
2017-05-23 | partitions/msdos: FreeBSD UFS2 file systems are not recognized | Richard | 1 | -0/+2 |
2017-05-23 | block: fix an error code in add_partition() | Dan Carpenter | 1 | -1/+3 |
2017-05-22 | blk-throttle: force user to configure all settings for io.low | Shaohua Li | 1 | -43/+37 |
2017-05-22 | blk-throttle: respect 0 bps/iops settings for io.low | Shaohua Li | 1 | -12/+29 |
2017-05-22 | blk-throttle: output some debug info in trace | Shaohua Li | 1 | -1/+14 |
2017-05-22 | blk-throttle: add hierarchy support for latency target and idle time | Shaohua Li | 1 | -14/+36 |
2017-05-22 | blk-mq: remove blk_mq_abort_requeue_list() | Ming Lei | 1 | -19/+0 |
2017-05-12 | Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/g... | Linus Torvalds | 1 | -1/+0 |
2017-05-11 | block: handle partial completions for special payload requests | Christoph Hellwig | 1 | -12/+12 |
2017-05-10 | blk-mq: NVMe 512B/4K+T10 DIF/DIX format returns I/O error on dd with split op | Wen Xiong | 1 | -2/+2 |
2017-05-10 | blk-stat: don't use this_cpu_ptr() in a preemptable section | Jens Axboe | 1 | -7/+10 |
2017-05-10 | elevator: remove redundant warnings on IO scheduler switch | Jens Axboe | 1 | -4/+1 |
2017-05-10 | block, bfq: stress that low_latency must be off to get max throughput | Paolo Valente | 1 | -0/+5 |
2017-05-10 | block, bfq: use pointer entity->sched_data only if set | Paolo Valente | 1 | -2/+11 |
2017-05-08 | block, dax: move "select DAX" from BLOCK to FS_DAX | Dan Williams | 1 | -1/+0 |
2017-05-08 | blk-mq: make __blk_mq_stop_hw_queues static | Colin Ian King | 1 | -1/+1 |
2017-05-07 | block/mq: fix potential deadlock during cpu hotplug | Wanpeng Li | 1 | -2/+2 |
2017-05-06 | Merge branch 'for-linus' of git://git.kernel.dk/linux-block | Linus Torvalds | 11 | -573/+781 |
2017-05-05 | Merge tag 'libnvdimm-for-4.12' of git://git.kernel.org/pub/scm/linux/kernel/g... | Linus Torvalds | 2 | -15/+3 |
2017-05-04 | mq-deadline: add debugfs attributes | Omar Sandoval | 3 | -2/+131 |
2017-05-04 | kyber: add debugfs attributes | Omar Sandoval | 3 | -1/+134 |
2017-05-04 | blk-mq-debugfs: allow schedulers to register debugfs attributes | Omar Sandoval | 3 | -17/+118 |
2017-05-04 | blk-mq: untangle debugfs and sysfs | Omar Sandoval | 6 | -70/+90 |
2017-05-04 | blk-mq: move debugfs declarations to a separate header file | Omar Sandoval | 6 | -28/+33 |
2017-05-04 | blk-mq: Do not invoke queue operations on a dead queue | Bart Van Assche | 1 | -0/+8 |
2017-05-04 | blk-mq-debugfs: get rid of a bunch of boilerplate | Omar Sandoval | 1 | -328/+136 |
2017-05-04 | blk-mq-debugfs: rename hw queue directories from <n> to hctx<n> | Omar Sandoval | 1 | -1/+1 |
2017-05-04 | blk-mq-debugfs: don't open code strstrip() | Omar Sandoval | 1 | -5/+4 |
2017-05-04 | blk-mq-debugfs: error on long write to queue "state" file | Omar Sandoval | 1 | -7/+12 |
2017-05-04 | blk-mq-debugfs: clean up flag definitions | Omar Sandoval | 1 | -93/+108 |
2017-05-04 | blk-mq-debugfs: separate flags with | | Omar Sandoval | 1 | -1/+1 |
2017-05-04 | block/mq: Cure cpu hotplug lock inversion | Peter Zijlstra | 1 | -2/+2 |
2017-05-03 | blk-mq: don't use sync workqueue flushing from drivers | Jens Axboe | 1 | -5/+20 |
2017-05-03 | Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shl... | Linus Torvalds | 1 | -48/+13 |
2017-05-02 | block: don't call blk_mq_quiesce_queue() after queue is frozen | Ming Lei | 2 | -5/+0 |
2017-05-02 | Merge tag 'docs-4.12' of git://git.lwn.net/linux | Linus Torvalds | 1 | -3/+4 |
2017-05-02 | blk-mq: update ->init_request and ->exit_request prototypes | Christoph Hellwig | 1 | -13/+5 |
2017-05-02 | blk-mq-sched: remove hack that bypasses scheduler for reserved requests | Jens Axboe | 1 | -5/+1 |
2017-05-02 | block: Remove elevator_change() | Bart Van Assche | 1 | -13/+0 |
2017-05-01 | Merge branch 'work.uaccess' of git://git.kernel.org/pub/scm/linux/kernel/git/... | Linus Torvalds | 1 | -1/+1 |
2017-05-01 | Merge branch 'md-next' into md-linus | Shaohua Li | 1 | -48/+13 |
2017-05-01 | Merge branch 'for-4.12/block' of git://git.kernel.dk/linux-block | Linus Torvalds | 45 | -1171/+11837 |
2017-04-28 | block: hide badblocks attribute by default | Dan Williams | 1 | -0/+11 |
2017-04-28 | blk-mq: unify hctx delay_work and run_work | Jens Axboe | 2 | -15/+23 |
2017-04-28 | block: add kblock_mod_delayed_work_on() | Jens Axboe | 1 | -0/+7 |
2017-04-28 | blk-mq: unify hctx delayed_run_work and run_work | Jens Axboe | 2 | -22/+7 |
2017-04-27 | blk-mq-sched: alloate reserved tags out of normal pool | Jens Axboe | 1 | -1/+5 |
2017-04-26 | blk-mq: Add blk_mq_ops.show_rq() | Bart Van Assche | 1 | -1/+5 |
2017-04-26 | blk-mq: Show operation, cmd_flags and rq_flags names | Bart Van Assche | 1 | -3/+69 |
2017-04-26 | blk-mq: Make blk_flags_show() callers append a newline character | Bart Van Assche | 1 | -1/+3 |
2017-04-26 | blk-mq: Move the "state" debugfs attribute one level down | Bart Van Assche | 1 | -8/+1 |
2017-04-26 | blk-mq: Unregister debugfs attributes earlier | Bart Van Assche | 1 | -2/+6 |
2017-04-26 | blk-mq: Only unregister hctxs for which registration succeeded | Bart Van Assche | 1 | -5/+13 |
2017-04-26 | blk-mq-debugfs: Rename functions for registering and unregistering the mq dir... | Bart Van Assche | 3 | -11/+11 |
2017-04-26 | blk-mq: Let blk_mq_debugfs_register() look up the queue name | Bart Van Assche | 3 | -6/+6 |
2017-04-26 | blk-mq: Register <dev>/queue/mq after having registered <dev>/queue | Bart Van Assche | 3 | -10/+32 |
2017-04-25 | Revert "block: use DAX for partition table reads" | Dan Williams | 1 | -15/+2 |
2017-04-23 | block: fix blk_integrity_register to use template's interval_exp if not 0 | Mike Snitzer | 1 | -1/+2 |
2017-04-21 | block: get rid of blk_integrity_revalidate() | Ilya Dryomov | 2 | -18/+2 |
2017-04-21 | blk-mq: Fix preempt count imbalance | Bart Van Assche | 1 | -1/+2 |
2017-04-21 | blk-stat: kill blk_stat_rq_ddir() | Jens Axboe | 4 | -19/+7 |
2017-04-20 | blk-mq: Remove blk_mq_sched_move_to_dispatch() | Bart Van Assche | 2 | -19/+0 |
2017-04-20 | blk-mq: add might_sleep check to blk_mq_get_driver_tag() | Jens Axboe | 1 | -0/+2 |
2017-04-20 | blk-mq: Fix poll_stat for new size-based bucketing. | Stephen Bates | 2 | -8/+9 |
2017-04-20 | blk-mq: fix schedule-while-atomic with scheduler attached | Jens Axboe | 1 | -5/+6 |
2017-04-20 | blk-mq: Add a polling specific stats function | Stephen Bates | 1 | -10/+35 |
2017-04-20 | blk-stat: convert blk-stat bucket callback to signed | Stephen Bates | 3 | -7/+10 |
2017-04-20 | blk-mq: fix potential oops with polling and blk-mq scheduler | Jens Axboe | 1 | -1/+10 |
2017-04-20 | dax: introduce dax_direct_access() | Dan Williams | 1 | -0/+1 |
2017-04-20 | block: remove the errors field from struct request | Christoph Hellwig | 4 | -23/+5 |
2017-04-20 | blk-mq: simplify __blk_mq_complete_request | Christoph Hellwig | 1 | -17/+8 |
2017-04-20 | blk-mq: remove the error argument to blk_mq_complete_request | Christoph Hellwig | 1 | -12/+3 |
2017-04-20 | scsi: introduce a result field in struct scsi_request | Christoph Hellwig | 3 | -17/+17 |
2017-04-20 | block: remove the blk_execute_rq return value | Christoph Hellwig | 2 | -8/+3 |
2017-04-20 | blk-throttle: fix unused variable warning with BLK_DEV_THROTTLING_LOW=n | Jens Axboe | 1 | -7/+15 |
2017-04-20 | bfq: fix compile error if CONFIG_CGROUPS=n | Jens Axboe | 1 | -3/+2 |
2017-04-20 | block, bfq: don't dereference bic before null checking it | Colin Ian King | 1 | -2/+2 |
2017-04-19 | block: Optimize ioprio_best() | Bart Van Assche | 1 | -11/+1 |
2017-04-19 | block: Inline blk_rq_set_prio() | Bart Van Assche | 1 | -1/+6 |
2017-04-19 | block: Export blk_init_request_from_bio() | Bart Van Assche | 3 | -4/+4 |
2017-04-19 | block: respect BLK_MQ_F_NO_SCHED | Ming Lei | 1 | -2/+10 |
2017-04-19 | block: make __blk_end_bidi_request private | Christoph Hellwig | 3 | -4/+2 |
2017-04-19 | block: remove blk_end_request_cur | Christoph Hellwig | 1 | -18/+0 |
2017-04-19 | block: remove blk_end_request_err and __blk_end_request_err | Christoph Hellwig | 1 | -39/+0 |
2017-04-19 | block: Make writeback throttling defaults consistent for SQ devices | Jan Kara | 4 | -18/+27 |
2017-04-19 | block, bfq: split bfq-iosched.c into multiple source files | Paolo Valente | 5 | -3625/+3738 |
2017-04-19 | block, bfq: remove all get and put of I/O contexts | Paolo Valente | 1 | -120/+23 |
2017-04-19 | block, bfq: handle bursts of queue activations | Arianna Avanzini | 1 | -15/+389 |
2017-04-19 | block, bfq: boost the throughput with random I/O on NCQ-capable HDDs | Paolo Valente | 1 | -10/+6 |
2017-04-19 | block, bfq: boost the throughput on NCQ-capable flash-based devices | Paolo Valente | 1 | -48/+106 |
2017-04-19 | block, bfq: reduce idling only in symmetric scenarios | Arianna Avanzini | 1 | -7/+280 |
2017-04-19 | block, bfq: add Early Queue Merge (EQM) | Arianna Avanzini | 1 | -41/+840 |
2017-04-19 | block, bfq: reduce latency during request-pool saturation | Paolo Valente | 1 | -3/+63 |
2017-04-19 | block, bfq: preserve a low latency also with NCQ-capable drives | Paolo Valente | 1 | -1/+2 |
2017-04-19 | block, bfq: reduce I/O latency for soft real-time applications | Paolo Valente | 1 | -19/+323 |
2017-04-19 | block, bfq: improve responsiveness | Paolo Valente | 1 | -74/+666 |
2017-04-19 | block, bfq: add more fairness with writes and slow processes | Paolo Valente | 1 | -35/+85 |
2017-04-19 | block, bfq: modify the peak-rate estimator | Paolo Valente | 1 | -125/+372 |
2017-04-19 | block, bfq: improve throughput boosting | Paolo Valente | 1 | -46/+41 |
2017-04-19 | block, bfq: add full hierarchical scheduling and cgroups support | Arianna Avanzini | 2 | -305/+2129 |
2017-04-19 | block, bfq: introduce the BFQ-v0 I/O scheduler as an extra scheduler | Paolo Valente | 3 | -0/+4178 |
2017-04-14 | blk-mq: introduce Kyber multiqueue I/O scheduler | Omar Sandoval | 3 | -0/+729 |
2017-04-14 | blk-mq-sched: make completed_request() callback more useful | Omar Sandoval | 2 | -9/+7 |
2017-04-14 | blk-mq: export helpers | Omar Sandoval | 1 | -0/+2 |
2017-04-14 | blk-mq: add shallow depth option for blk_mq_get_tag() | Omar Sandoval | 2 | -1/+5 |
2017-04-11 | Revert "block: introduce bio_copy_data_partial" | NeilBrown | 1 | -47/+13 |
2017-04-11 | block: Fix list corruption of blk stats callback list | Jan Kara | 1 | -8/+4 |
2017-04-10 | blk-mq: Show symbolic names for hctx state and flags | Bart Van Assche | 1 | -3/+34 |
2017-04-10 | blk-mq: Export queue state through /sys/kernel/debug/block/*/state | Bart Van Assche | 1 | -0/+106 |
2017-04-08 | block: remove the discard_zeroes_data flag | Christoph Hellwig | 5 | -12/+4 |
2017-04-08 | block: stop using discards for zeroing | Christoph Hellwig | 1 | -6/+6 |
2017-04-08 | block: add a new BLKDEV_ZERO_NOFALLBACK flag | Christoph Hellwig | 1 | -1/+4 |
2017-04-08 | block: add a REQ_NOUNMAP flag for REQ_OP_WRITE_ZEROES | Christoph Hellwig | 1 | -14/+5 |
2017-04-08 | block: add a flags argument to (__)blkdev_issue_zeroout | Christoph Hellwig | 2 | -18/+15 |
2017-04-08 | block: stop using blkdev_issue_write_same for zeroing | Christoph Hellwig | 1 | -4/+0 |
2017-04-08 | block: implement splitting of REQ_OP_WRITE_ZEROES bios | Christoph Hellwig | 1 | -2/+15 |
2017-04-07 | block: sed-opal: Tone down all the pr_* to debugs | Scott Bauer | 1 | -79/+74 |
2017-04-07 | blk-mq: Clarify comments in blk_mq_dispatch_rq_list() | Bart Van Assche | 1 | -10/+18 |
2017-04-07 | blk-mq: Make it safe to use RCU to iterate over blk_mq_tag_set.tag_list | Bart Van Assche | 1 | -2/+9 |
2017-04-07 | blk-mq: use true instead of 1 for blk_mq_queue_data.last | Omar Sandoval | 1 | -1/+1 |
2017-04-07 | blk-mq: make driver tag failure path easier to follow | Omar Sandoval | 1 | -10/+9 |
2017-04-07 | blk-mq-sched: provide hooks for initializing hardware queue data | Omar Sandoval | 2 | -42/+43 |
2017-04-07 | Merge branch 'for-linus' into for-4.12/block | Jens Axboe | 6 | -146/+262 |
2017-04-07 | blk-mq: Restart a single queue if tag sets are shared | Bart Van Assche | 3 | -26/+55 |
2017-04-07 | blk-mq: Introduce blk_mq_delay_run_hw_queue() | Bart Van Assche | 1 | -2/+30 |
2017-04-07 | block: trace completion of all bios. | NeilBrown | 2 | -1/+23 |
2017-04-07 | blk-mq: remap queues when adding/removing hardware queues | Omar Sandoval | 1 | -4/+10 |
2017-04-07 | blk-mq-sched: fix crash in switch error path | Omar Sandoval | 5 | -47/+66 |
2017-04-07 | blk-mq-sched: set up scheduler tags when bringing up new queues | Omar Sandoval | 3 | -1/+35 |
2017-04-07 | blk-mq-sched: refactor scheduler initialization | Omar Sandoval | 3 | -59/+57 |
2017-04-07 | blk-mq: use the right hctx when getting a driver tag fails | Omar Sandoval | 3 | -17/+19 |
2017-04-05 | block, scsi: move the retries field to struct scsi_request | Christoph Hellwig | 1 | -4/+4 |
2017-04-05 | blk-mq: Remove blk_mq_queue_data.list | Bart Van Assche | 1 | -17/+0 |
2017-04-05 | cfq: Disable writeback throttling by default | Jan Kara | 1 | -12/+5 |
2017-04-04 | block: fix inheriting request priority from bio | Adam Manzanares | 1 | -1/+1 |
2017-04-02 | kernel-api.rst: fix a series of errors when parsing C files | mchehab@s-opensource.com | 1 | -3/+4 |
2017-04-02 | Merge branch 'parisc-4.11-3' of git://git.kernel.org/pub/scm/linux/kernel/git... | Al Viro | 9 | -97/+100 |
2017-03-30 | blk-mq: fix schedule-under-preempt for blocking drivers | Jens Axboe | 1 | -3/+14 |
2017-03-30 | block/sed-opal: fix spelling mistake: "Lifcycle" -> "Lifecycle" | Colin Ian King | 1 | -1/+1 |
2017-03-30 | block: do not put mq context in blk_mq_alloc_request_hctx | Minchan Kim | 1 | -1/+0 |
2017-03-30 | block: do not put mq context in blk_mq_alloc_request_hctx | Minchan Kim | 1 | -1/+0 |
2017-03-29 | blk-mq: include errors in did_work calculation | Jens Axboe | 1 | -3/+4 |
2017-03-29 | block-mq: don't re-queue if we get a queue error | Josef Bacik | 1 | -2/+1 |
2017-03-29 | blkcg: allocate struct blkcg_gq outside request queue spinlock | Tahsin Erdogan | 1 | -25/+98 |
2017-03-29 | Revert "blkcg: allocate struct blkcg_gq outside request queue spinlock" | Jens Axboe | 1 | -87/+51 |
2017-03-29 | blk-mq: fix a typo and a spelling mistake | Jens Axboe | 1 | -2/+2 |
2017-03-29 | blk-mq-pci: Fix two spelling mistakes | Sagi Grimberg | 1 | -1/+1 |
2017-03-29 | block: fix leak of q->rq_wb | Omar Sandoval | 1 | -1/+3 |
2017-03-29 | blk-mq: fix leak of q->stats | Omar Sandoval | 1 | -4/+0 |
2017-03-29 | block: warn if sharing request queue across gendisks | Omar Sandoval | 1 | -0/+7 |
2017-03-29 | block: block new I/O just after queue is set as dying | Ming Lei | 1 | -3/+10 |
2017-03-29 | block: rename blk_mq_freeze_queue_start() | Ming Lei | 2 | -6/+6 |
2017-03-29 | block: add a read barrier in blk_queue_enter() | Ming Lei | 1 | -0/+9 |
2017-03-29 | blk-mq: comment on races related with timeout handler | Ming Lei | 1 | -0/+22 |
2017-03-29 | blk-mq: don't complete un-started request in timeout handler | Ming Lei | 1 | -10/+1 |
2017-03-28 | blkcg: allocate struct blkcg_gq outside request queue spinlock | Tahsin Erdogan | 1 | -51/+87 |
2017-03-28 | new helper: uaccess_kernel() | Al Viro | 1 | -1/+1 |
2017-03-28 | blk-throttle: add latency target support | Shaohua Li | 1 | -4/+35 |
2017-03-28 | blk-throttle: add a mechanism to estimate IO latency | Shaohua Li | 4 | -6/+180 |
2017-03-28 | block: track request size in blk_issue_stat | Shaohua Li | 4 | -18/+37 |
2017-03-28 | blk-throttle: add interface for per-cgroup target latency | Shaohua Li | 1 | -4/+24 |
2017-03-28 | blk-throttle: ignore idle cgroup limit | Shaohua Li | 1 | -14/+26 |
2017-03-28 | blk-throttle: add interface to configure idle time threshold | Shaohua Li | 1 | -13/+28 |
2017-03-28 | blk-throttle: add a simple idle detection | Shaohua Li | 3 | -1/+86 |
2017-03-28 | blk-throttle: make bandwidth change smooth | Shaohua Li | 1 | -3/+54 |
2017-03-28 | blk-throttle: detect completed idle cgroup | Shaohua Li | 1 | -1/+18 |
2017-03-28 | blk-throttle: choose a small throtl_slice for SSD | Shaohua Li | 3 | -3/+24 |
2017-03-28 | blk-throttle: make throtl_slice tunable | Shaohua Li | 3 | -22/+73 |
2017-03-28 | blk-throttle: make sure expire time isn't too big | Shaohua Li | 1 | -0/+11 |
2017-03-28 | blk-throttle: add downgrade logic | Shaohua Li | 1 | -0/+156 |
2017-03-28 | blk-throttle: add upgrade logic for LIMIT_LOW state | Shaohua Li | 1 | -4/+96 |
2017-03-28 | blk-throttle: configure bps/iops limit for cgroup in low limit | Shaohua Li | 1 | -2/+18 |
2017-03-28 | blk-throttle: add .low interface | Shaohua Li | 1 | -28/+116 |
2017-03-28 | blk-throttle: add configure option for new .low interface | Shaohua Li | 1 | -0/+12 |
2017-03-28 | blk-throttle: prepare support multiple limits | Shaohua Li | 1 | -40/+70 |
2017-03-28 | blk-throttle: use U64_MAX/UINT_MAX to replace -1 | Shaohua Li | 1 | -16/+16 |
2017-03-25 | block: remove bio_clone_bioset_partial() | Shaohua Li | 1 | -48/+13 |
2017-03-24 | block: constify struct blk_integrity_profile | Eric Biggers | 2 | -5/+5 |
2017-03-24 | blk-mq: include errors in did_work calculation | Jens Axboe | 1 | -3/+4 |
2017-03-24 | block: remove outdated part of blkdev_issue_flush() comment | Eric Biggers | 1 | -2/+1 |
2017-03-24 | block: correct documentation for blkdev_issue_discard() flags | Eric Biggers | 1 | -1/+1 |
2017-03-24 | block: introduce bio_copy_data_partial | Ming Lei | 1 | -13/+47 |
2017-03-23 | block: make nr_iovecs unsigned in bio_alloc_bioset() | Dan Carpenter | 1 | -1/+2 |
2017-03-22 | blk-mq: streamline blk_mq_make_request | Christoph Hellwig | 1 | -36/+15 |
2017-03-22 | blk-mq: split the plug and sync cases in blk_mq_make_request | Christoph Hellwig | 1 | -18/+18 |
2017-03-22 | blk-mq: improve blk_mq_try_issue_directly | Christoph Hellwig | 1 | -14/+18 |