On 7.06.19 г. 9:02 ч., Hannes Reinecke wrote:
> On 6/6/19 12:29 PM, Christoph Hellwig wrote:
>> We only need the number of segments in the blk-mq submission path.
>> Remove the field from struct bio, and return it from a variant of
>> blk_queue_split instead of that it can passed as an argument to
>> those functions that need the value.
>>
>> This also means we stop recounting segments except for cloning
>> and partial segments.
>>
>> To keep the number of arguments in this how path down remove
>> pointless struct request_queue arguments from any of the functions
>> that had it and grew a nr_segs argument.
>>
>> Signed-off-by: Christoph Hellwig <[email protected]>
>> ---
>>  Documentation/block/biodoc.txt |  1 -
>>  block/bfq-iosched.c            |  5 ++-
>>  block/bio.c                    | 15 +------
>>  block/blk-core.c               | 32 +++++++--------
>>  block/blk-map.c                | 10 ++++-
>>  block/blk-merge.c              | 75 ++++++++++++----------------------
>>  block/blk-mq-sched.c           | 26 +++++++-----
>>  block/blk-mq-sched.h           | 10 +++--
>>  block/blk-mq.c                 | 23 ++++++-----
>>  block/blk.h                    | 23 ++++++-----
>>  block/kyber-iosched.c          |  5 ++-
>>  block/mq-deadline.c            |  5 ++-
>>  drivers/md/raid5.c             |  1 -
>>  include/linux/bio.h            |  1 -
>>  include/linux/blk-mq.h         |  2 +-
>>  include/linux/blk_types.h      |  6 ---
>>  include/linux/blkdev.h         |  1 -
>>  include/linux/elevator.h       |  2 +-
>>  18 files changed, 106 insertions(+), 137 deletions(-)
>>
> In general a very good idea, but:
> 
>> @@ -304,6 +301,13 @@ void blk_queue_split(struct request_queue *q, struct 
>> bio **bio)
>>              *bio = split;
>>      }
>>  }
>> +
>> +void blk_queue_split(struct request_queue *q, struct bio **bio)
>> +{
>> +    unsigned int nr_segs;
>> +
>> +    __blk_queue_split(q, bio, &nr_segs);
>> +}
>>  EXPORT_SYMBOL(blk_queue_split);
>>  
> That looks a bit weird, and I guess some or other compiler might
> complain here about nr_segs being unused.
> Can't we modify __blk_queue_split() to accept a NULL argument here?

How about __maybe_unused so the compiler doesn't complain?

> 
> Cheers,
> 
> Hannes
> 

Reply via email to