#
e8b58ef0 |
| 19-Jun-2022 |
Christoph Hellwig <hch@lst.de> |
mtip32xx: fix device removal
Use the proper helper to mark a surpise removal, remove the gendisk as soon as possible when removing the device and implement the ->free_disk callback to ensure the pri
mtip32xx: fix device removal
Use the proper helper to mark a surpise removal, remove the gendisk as soon as possible when removing the device and implement the ->free_disk callback to ensure the private data is alive as long as the gendisk has references.
Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Hannes Reinecke <hare@suse.de> Link: https://lore.kernel.org/r/20220619060552.1850436-3-hch@lst.de Signed-off-by: Jens Axboe <axboe@kernel.dk>
show more ...
|
#
ec5263f4 |
| 19-Jun-2022 |
Christoph Hellwig <hch@lst.de> |
mtip32xx: remove the device_status debugfs file
This file is a huge mess that iterates over all devices and is in the way of fixing the device removal in this driver, so remove it.
Signed-off-by: C
mtip32xx: remove the device_status debugfs file
This file is a huge mess that iterates over all devices and is in the way of fixing the device removal in this driver, so remove it.
Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Hannes Reinecke <hare@suse.de> Link: https://lore.kernel.org/r/20220619060552.1850436-2-hch@lst.de Signed-off-by: Jens Axboe <axboe@kernel.dk>
show more ...
|
#
322cbb50 |
| 24-Jan-2022 |
Christoph Hellwig <hch@lst.de> |
block: remove genhd.h
There is no good reason to keep genhd.h separate from the main blkdev.h header that includes it. So fold the contents of genhd.h into blkdev.h and remove genhd.h entirely.
Si
block: remove genhd.h
There is no good reason to keep genhd.h separate from the main blkdev.h header that includes it. So fold the contents of genhd.h into blkdev.h and remove genhd.h entirely.
Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com> Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com> Link: https://lore.kernel.org/r/20220124093913.742411-4-hch@lst.de Signed-off-by: Jens Axboe <axboe@kernel.dk>
show more ...
|
#
a6419fd8 |
| 30-Jun-2020 |
Christoph Hellwig <hch@lst.de> |
mtip32xx: remove the call to fsync_bdev on removal
del_gendisk already calls fsync_bdev for every partition, no need to do this twice.
Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Jan
mtip32xx: remove the call to fsync_bdev on removal
del_gendisk already calls fsync_bdev for every partition, no need to do this twice.
Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Jan Kara <jack@suse.cz> Reviewed-by: Hannes Reinecke <hare@suse.de> Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
show more ...
|
#
c942fddf |
| 27-May-2019 |
Thomas Gleixner <tglx@linutronix.de> |
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157
Based on 3 normalized pattern(s):
this program is free software you can redistribute it and or modify it under the terms of th
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157
Based on 3 normalized pattern(s):
this program is free software you can redistribute it and or modify it under the terms of the gnu general public license as published by the free software foundation either version 2 of the license or at your option any later version this program is distributed in the hope that it will be useful but without any warranty without even the implied warranty of merchantability or fitness for a particular purpose see the gnu general public license for more details
this program is free software you can redistribute it and or modify it under the terms of the gnu general public license as published by the free software foundation either version 2 of the license or at your option any later version [author] [kishon] [vijay] [abraham] [i] [kishon]@[ti] [com] this program is distributed in the hope that it will be useful but without any warranty without even the implied warranty of merchantability or fitness for a particular purpose see the gnu general public license for more details
this program is free software you can redistribute it and or modify it under the terms of the gnu general public license as published by the free software foundation either version 2 of the license or at your option any later version [author] [graeme] [gregory] [gg]@[slimlogic] [co] [uk] [author] [kishon] [vijay] [abraham] [i] [kishon]@[ti] [com] [based] [on] [twl6030]_[usb] [c] [author] [hema] [hk] [hemahk]@[ti] [com] this program is distributed in the hope that it will be useful but without any warranty without even the implied warranty of merchantability or fitness for a particular purpose see the gnu general public license for more details
extracted by the scancode license scanner the SPDX license identifier
GPL-2.0-or-later
has been chosen to replace the boilerplate/reference in 1105 file(s).
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Allison Randal <allison@lohutok.net> Reviewed-by: Richard Fontana <rfontana@redhat.com> Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190527070033.202006027@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
cc6be131 |
| 25-Apr-2019 |
Christoph Hellwig <hch@lst.de> |
mtip32xx: remove trim support
The trim support in mtip32xx has been "temporarily" disabled for 6 years, which is 3/4 of the time the driver even exists in the tree.
Remove it as it obviously is dea
mtip32xx: remove trim support
The trim support in mtip32xx has been "temporarily" disabled for 6 years, which is 3/4 of the time the driver even exists in the tree.
Remove it as it obviously is dead code now.
Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
show more ...
|
#
e4025e46 |
| 10-Dec-2018 |
Arnd Bergmann <arnd@arndb.de> |
mtip32xx: avoid using semaphores
The "cmd_slot_unal" semaphore is never used in a blocking way but only as an atomic counter. Change the code to using atomic_dec_if_positive() as a better API.
Sign
mtip32xx: avoid using semaphores
The "cmd_slot_unal" semaphore is never used in a blocking way but only as an atomic counter. Change the code to using atomic_dec_if_positive() as a better API.
Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
show more ...
|
#
d85cb204 |
| 09-Nov-2018 |
Christoph Hellwig <hch@lst.de> |
mtip32xx: don't use req->special
Instead create add to the icmd into struct mtip_cmd which can be unioned with the scatterlist used for the normal I/O path.
Signed-off-by: Christoph Hellwig <hch@ls
mtip32xx: don't use req->special
Instead create add to the icmd into struct mtip_cmd which can be unioned with the scatterlist used for the normal I/O path.
Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
show more ...
|
#
7bbf118f |
| 09-Nov-2018 |
Christoph Hellwig <hch@lst.de> |
mtip32xx: remove mtip_init_cmd_header
There isn't much need for this helper - we can just calculate the offset for the command header once late in the submission path and fill out the ctba and ctbau
mtip32xx: remove mtip_init_cmd_header
There isn't much need for this helper - we can just calculate the offset for the command header once late in the submission path and fill out the ctba and ctbau fields there.
Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
show more ...
|
#
643b5f68 |
| 09-Nov-2018 |
Christoph Hellwig <hch@lst.de> |
mtip32xx: add missing endianess annotations on struct smart_attr
Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
|
#
449a15d9 |
| 09-Nov-2018 |
Christoph Hellwig <hch@lst.de> |
mtip32xx: remove __force_bit2int
There is no good excuse not to use proper __le16/32 types.
Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
|
#
8a05aa4c |
| 05-Jul-2017 |
Ming Lei <ming.lei@redhat.com> |
mtip32xx: avoid to read HOST_CAP from HW in .queue_rq()
It is observed reading the register from HW takes a bit long, for example in my box, the following difference of 'perf report --no-children fi
mtip32xx: avoid to read HOST_CAP from HW in .queue_rq()
It is observed reading the register from HW takes a bit long, for example in my box, the following difference of 'perf report --no-children fio ...' can be seen when running I/O:
1) V4.12 without patch + 9.28% fio [mtip32xx] [k] mtip_irq_handler + 8.48% fio [mtip32xx] [k] mtip_init_cmd_header
2) V4.12 with the following patch + 9.14% fio [mtip32xx] [k] mtip_irq_handler ...... + 1.14% fio [mtip32xx] [k] mtip_init_cmd_header
IOPS can be increased by ~5% with this patch too.
Fixes: a4e84aae8139(mtip32xx: use runtime tag to initialize command header) Signed-off-by: Ming Lei <ming.lei@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
show more ...
|
#
2a842aca |
| 03-Jun-2017 |
Christoph Hellwig <hch@lst.de> |
block: introduce new block status code type
Currently we use nornal Linux errno values in the block layer, and while we accept any error a few have overloaded magic meanings. This patch instead int
block: introduce new block status code type
Currently we use nornal Linux errno values in the block layer, and while we accept any error a few have overloaded magic meanings. This patch instead introduces a new blk_status_t value that holds block layer specific status codes and explicitly explains their meaning. Helpers to convert from and to the previous special meanings are provided for now, but I suspect we want to get rid of them in the long run - those drivers that have a errno input (e.g. networking) usually get errnos that don't know about the special block layer overloads, and similarly returning them to userspace will usually return somethings that strictly speaking isn't correct for file system operations, but that's left as an exercise for later.
For now the set of errors is a very limited set that closely corresponds to the previous overloaded errno values, but there is some low hanging fruite to improve it.
blk_status_t (ab)uses the sparse __bitwise annotations to allow for sparse typechecking, so that we can easily catch places passing the wrong values.
Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@fb.com>
show more ...
|
#
6f63503c |
| 02-May-2017 |
Jens Axboe <axboe@fb.com> |
mtip32xx: convert internal commands to regular block infrastructure
Get rid of the private end_io handlers and data, and just use the regular block IO path for these requests. This removes a lot of
mtip32xx: convert internal commands to regular block infrastructure
Get rid of the private end_io handlers and data, and just use the regular block IO path for these requests. This removes a lot of redundant code.
Signed-off-by: Jens Axboe <axboe@fb.com>
show more ...
|
#
4dda4735 |
| 20-Apr-2017 |
Christoph Hellwig <hch@lst.de> |
mtip32xx: add a status field to struct mtip_cmd
Instead of using req->errors, which will go away.
Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
mtip32xx: add a status field to struct mtip_cmd
Instead of using req->errors, which will go away.
Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Jens Axboe <axboe@fb.com>
show more ...
|
#
abb0ccd1 |
| 25-Feb-2016 |
Asai Thambi SP <asamymuthupa@micron.com> |
mtip32xx: Implement timeout handler
Added timeout handler. Replaced blk_mq_end_request() with blk_mq_complete_request() to avoid double completion of a request.
Signed-off-by: Selvan Mani <smani@mi
mtip32xx: Implement timeout handler
Added timeout handler. Replaced blk_mq_end_request() with blk_mq_complete_request() to avoid double completion of a request.
Signed-off-by: Selvan Mani <smani@micron.com> Signed-off-by: Rajesh Kumar Sambandam <rsambandam@micron.com> Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Cc: stable@vger.kernel.org Signed-off-by: Jens Axboe <axboe@fb.com>
show more ...
|
#
51c6570e |
| 25-Feb-2016 |
Asai Thambi SP <asamymuthupa@micron.com> |
mtip32xx: Handle safe removal during IO
Flush inflight IOs using fsync_bdev() when the device is safely removed. Also, block further IOs in device open function.
Signed-off-by: Selvan Mani <smani@m
mtip32xx: Handle safe removal during IO
Flush inflight IOs using fsync_bdev() when the device is safely removed. Also, block further IOs in device open function.
Signed-off-by: Selvan Mani <smani@micron.com> Signed-off-by: Rajesh Kumar Sambandam <rsambandam@micron.com> Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Cc: stable@vger.kernel.org Signed-off-by: Jens Axboe <axboe@fb.com>
show more ...
|
#
cfc05bd3 |
| 25-Feb-2016 |
Asai Thambi SP <asamymuthupa@micron.com> |
mtip32xx: Fix broken service thread handling
Service thread does not detect the need for taskfile error hanlding. Fixed the flag condition to process taskfile error.
Signed-off-by: Selvan Mani <sma
mtip32xx: Fix broken service thread handling
Service thread does not detect the need for taskfile error hanlding. Fixed the flag condition to process taskfile error.
Signed-off-by: Selvan Mani <smani@micron.com> Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Cc: stable@vger.kernel.org Signed-off-by: Jens Axboe <axboe@fb.com>
show more ...
|
#
98f57c51 |
| 24-Jun-2015 |
Selvan Mani <smani@micron.com> |
mtip32xx: Fix accessing freed memory
In mtip_pci_remove(), driver data 'dd' is accessed after freeing it. This is a residue of SRSI code cleanup in the patch 016a41c38821 "mtip32xx: fix crash on sur
mtip32xx: Fix accessing freed memory
In mtip_pci_remove(), driver data 'dd' is accessed after freeing it. This is a residue of SRSI code cleanup in the patch 016a41c38821 "mtip32xx: fix crash on surprise removal of the drive". Removed the bit flags MTIP_DDF_REMOVE_DONE_BIT and MTIP_PF_SR_CLEANUP_BIT.
Reported-by: Julia Lawall <julia.lawall@lip6.fr> Signed-off-by: Vignesh Gunasekaran <vgunasekaran@micron.com> Signed-off-by: Selvan Mani <smani@micron.com> Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Jens Axboe <axboe@fb.com>
show more ...
|
#
a7806fad |
| 11-May-2015 |
Asai Thambi SP <asamymuthupa@micron.com> |
mtip32xx: remove unused variable 'port->allocated'
Remove unused variable 'port->allocated'
Signed-off-by: Selvan Mani <smani@micron.com> Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Si
mtip32xx: remove unused variable 'port->allocated'
Remove unused variable 'port->allocated'
Signed-off-by: Selvan Mani <smani@micron.com> Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Jens Axboe <axboe@fb.com>
show more ...
|
#
f45c40a9 |
| 06-Jun-2014 |
Sam Bradshaw <sbradshaw@micron.com> |
mtip32xx: minor performance enhancements
This patch adds the following:
1) Compiler hinting in the fast path. 2) A prefetch of port->flags to eliminate moderate cpu stalling later in mtip_hw_submit
mtip32xx: minor performance enhancements
This patch adds the following:
1) Compiler hinting in the fast path. 2) A prefetch of port->flags to eliminate moderate cpu stalling later in mtip_hw_submit_io(). 3) Eliminate a redundant rq_data_dir(). 4) Reorder members of driver_data to eliminate false cacheline sharing between irq_workers_active and unal_qdepth.
With some workload and topology configurations, I'm seeing ~1.5% throughput improvement in small block random read benchmarks as well as improved latency std. dev.
Signed-off-by: Sam Bradshaw <sbradshaw@micron.com>
Add include of <linux/prefetch.h>
Signed-off-by: Jens Axboe <axboe@fb.com>
show more ...
|
#
9b204fbf |
| 20-May-2014 |
Asai Thambi S P <asamymuthupa@micron.com> |
mtip32xx: move error handling to service thread
Move error handling to service thread, and use mtip_set_timeout() to set timeouts for HDIO_DRIVE_TASK and HDIO_DRIVE_CMD IOCTL commands.
Signed-off-b
mtip32xx: move error handling to service thread
Move error handling to service thread, and use mtip_set_timeout() to set timeouts for HDIO_DRIVE_TASK and HDIO_DRIVE_CMD IOCTL commands.
Signed-off-by: Selvan Mani <smani@micron.com> Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Jens Axboe <axboe@fb.com>
show more ...
|
#
ffc771b3 |
| 09-May-2014 |
Jens Axboe <axboe@fb.com> |
mtip32xx: convert to use blk-mq
This rips out timeout handling, requeueing, etc in converting it to use blk-mq instead.
Acked-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Jens Axboe
mtip32xx: convert to use blk-mq
This rips out timeout handling, requeueing, etc in converting it to use blk-mq instead.
Acked-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Jens Axboe <axboe@fb.com>
show more ...
|
#
5eb9291c |
| 13-Mar-2014 |
Sam Bradshaw <sbradshaw@micron.com> |
mtip32xx: mtip_async_complete() bug fixes
This patch fixes 2 issues in the fast completion path: 1) Possible double completions / double dma_unmap_sg() calls due to lack of atomicity in the check an
mtip32xx: mtip_async_complete() bug fixes
This patch fixes 2 issues in the fast completion path: 1) Possible double completions / double dma_unmap_sg() calls due to lack of atomicity in the check and subsequent dereference of the upper layer callback function. Fixed with cmpxchg before unmap and callback. 2) Regression in unaligned IO constraining workaround for p420m devices. Fixed by checking if IO is unaligned and using proper semaphore if so.
Signed-off-by: Sam Bradshaw <sbradshaw@micron.com> Cc: stable@kernel.org Signed-off-by: Jens Axboe <axboe@fb.com>
show more ...
|
#
5a98268e |
| 18-Feb-2014 |
Asai Thambi S P <asamymuthupa@micron.com> |
mtip32xx: Reduce the number of unaligned writes to 2
After several experiments, deduced the the optimal number of unaligned writes to be 2. Changing the value accordingly.
Signed-off-by: Asai Thamb
mtip32xx: Reduce the number of unaligned writes to 2
After several experiments, deduced the the optimal number of unaligned writes to be 2. Changing the value accordingly.
Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Sam Bradshaw <sbradshaw@micron.com> Signed-off-by: Jens Axboe <axboe@fb.com>
show more ...
|