Function report |
Source Code:block\mq-deadline.c |
Create Date:2022-07-28 17:50:28 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:deadline_dispatch_requests selects the best request according to* read/write expire, fifo_batch, etc
Proto:static struct request *__dd_dispatch_request(struct deadline_data *dd)
Type:struct request
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct deadline_data * | dd |
| 280 | Go to done |
| 289 | rq = For the specified data direction, return the next request to* dispatch using sector position sorted lists. |
| 290 | If Not rq Then rq = For the specified data direction, return the next request to* dispatch using sector position sorted lists. |
| 293 | If rq && number of sequential requests made < fifo_batch Then Go to dispatch_request |
| 302 | If reads Then |
| 303 | BUG_ON(RB_EMPTY_ROOT( & * requests (deadline_rq s) are present on both sort_list and fifo_list[generic data direction definitions ])) |
| 305 | If For the specified data direction, return the next request to* dispatch using arrival ordered lists. && times reads have starved writes ++ >= writes_starved Then Go to dispatch_writes |
| 311 | Go to dispatch_find_request |
| 318 | If writes Then |
| 319 | dispatch_writes : |
| 320 | BUG_ON(RB_EMPTY_ROOT( & * requests (deadline_rq s) are present on both sort_list and fifo_list[WRITE])) |
| 322 | times reads have starved writes = 0 |
| 326 | Go to dispatch_find_request |
| 329 | Return NULL |
| 331 | dispatch_find_request : |
| 335 | next_rq = For the specified data direction, return the next request to* dispatch using sector position sorted lists. |
| 343 | Else |
| 355 | If Not rq Then Return NULL |
| 360 | dispatch_request : |
| 366 | done : |
| 372 | Return rq |
| Name | Describe |
|---|---|
| dd_dispatch_request | One confusing aspect here is that we get called for a specific* hardware queue, but we may return a request that is for a* different hardware queue. This is because mq-deadline has shared* state for all hardware queues, in terms of sorting, FIFOs, etc. |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |