2021-01-28 07:24:13

by Chaitanya Kulkarni

[permalink] [raw]
Subject: [RFC PATCH 29/34] power/swap: use bio_new in hib_submit_io

Signed-off-by: Chaitanya Kulkarni <[email protected]>
---
kernel/power/swap.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/kernel/power/swap.c b/kernel/power/swap.c
index c73f2e295167..e92e36c053a6 100644
--- a/kernel/power/swap.c
+++ b/kernel/power/swap.c
@@ -271,13 +271,12 @@ static int hib_submit_io(int op, int op_flags, pgoff_t page_off, void *addr,
struct hib_bio_batch *hb)
{
struct page *page = virt_to_page(addr);
+ sector_t sect = page_off * (PAGE_SIZE >> 9);
struct bio *bio;
int error = 0;

- bio = bio_alloc(GFP_NOIO | __GFP_HIGH, 1);
- bio->bi_iter.bi_sector = page_off * (PAGE_SIZE >> 9);
- bio_set_dev(bio, hib_resume_bdev);
- bio_set_op_attrs(bio, op, op_flags);
+ bio = bio_new(hib_resume_bdev, sect, op, op_flags, 1,
+ GFP_NOIO | __GFP_HIGH);

if (bio_add_page(bio, page, PAGE_SIZE, 0) < PAGE_SIZE) {
pr_err("Adding page to bio failed at %llu\n",
--
2.22.1


2021-01-28 10:25:12

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [RFC PATCH 29/34] power/swap: use bio_new in hib_submit_io

On Thu, Jan 28, 2021 at 8:21 AM Chaitanya Kulkarni
<[email protected]> wrote:
>

Please explain in the changelog why making this change is a good idea.

> Signed-off-by: Chaitanya Kulkarni <[email protected]>
> ---
> kernel/power/swap.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/kernel/power/swap.c b/kernel/power/swap.c
> index c73f2e295167..e92e36c053a6 100644
> --- a/kernel/power/swap.c
> +++ b/kernel/power/swap.c
> @@ -271,13 +271,12 @@ static int hib_submit_io(int op, int op_flags, pgoff_t page_off, void *addr,
> struct hib_bio_batch *hb)
> {
> struct page *page = virt_to_page(addr);
> + sector_t sect = page_off * (PAGE_SIZE >> 9);
> struct bio *bio;
> int error = 0;
>
> - bio = bio_alloc(GFP_NOIO | __GFP_HIGH, 1);
> - bio->bi_iter.bi_sector = page_off * (PAGE_SIZE >> 9);
> - bio_set_dev(bio, hib_resume_bdev);
> - bio_set_op_attrs(bio, op, op_flags);
> + bio = bio_new(hib_resume_bdev, sect, op, op_flags, 1,
> + GFP_NOIO | __GFP_HIGH);
>
> if (bio_add_page(bio, page, PAGE_SIZE, 0) < PAGE_SIZE) {
> pr_err("Adding page to bio failed at %llu\n",
> --
> 2.22.1
>

2021-02-17 22:05:17

by Pavel Machek

[permalink] [raw]
Subject: Re: [RFC PATCH 29/34] power/swap: use bio_new in hib_submit_io

Hi!
>
> diff --git a/kernel/power/swap.c b/kernel/power/swap.c
> index c73f2e295167..e92e36c053a6 100644
> --- a/kernel/power/swap.c
> +++ b/kernel/power/swap.c
> @@ -271,13 +271,12 @@ static int hib_submit_io(int op, int op_flags, pgoff_t page_off, void *addr,
> struct hib_bio_batch *hb)
> {
> struct page *page = virt_to_page(addr);
> + sector_t sect = page_off * (PAGE_SIZE >> 9);
> struct bio *bio;
> int error = 0;
>
> - bio = bio_alloc(GFP_NOIO | __GFP_HIGH, 1);
> - bio->bi_iter.bi_sector = page_off * (PAGE_SIZE >> 9);
> - bio_set_dev(bio, hib_resume_bdev);
> - bio_set_op_attrs(bio, op, op_flags);
> + bio = bio_new(hib_resume_bdev, sect, op, op_flags, 1,
> + GFP_NOIO | __GFP_HIGH);
>

C function with 6 arguments... dunno. Old version looks comparable or
even more readable...

Best regards,
Pavel

--
http://www.livejournal.com/~pavelmachek


Attachments:
(No filename) (914.00 B)
signature.asc (188.00 B)
Digital signature
Download all attachments

2021-02-18 01:32:19

by Chaitanya Kulkarni

[permalink] [raw]
Subject: Re: [RFC PATCH 29/34] power/swap: use bio_new in hib_submit_io

On 2/17/21 14:03, Pavel Machek wrote:
> Hi!
>> diff --git a/kernel/power/swap.c b/kernel/power/swap.c
>> index c73f2e295167..e92e36c053a6 100644
>> --- a/kernel/power/swap.c
>> +++ b/kernel/power/swap.c
>> @@ -271,13 +271,12 @@ static int hib_submit_io(int op, int op_flags, pgoff_t page_off, void *addr,
>> struct hib_bio_batch *hb)
>> {
>> struct page *page = virt_to_page(addr);
>> + sector_t sect = page_off * (PAGE_SIZE >> 9);
>> struct bio *bio;
>> int error = 0;
>>
>> - bio = bio_alloc(GFP_NOIO | __GFP_HIGH, 1);
>> - bio->bi_iter.bi_sector = page_off * (PAGE_SIZE >> 9);
>> - bio_set_dev(bio, hib_resume_bdev);
>> - bio_set_op_attrs(bio, op, op_flags);
>> + bio = bio_new(hib_resume_bdev, sect, op, op_flags, 1,
>> + GFP_NOIO | __GFP_HIGH);
>>
> C function with 6 arguments... dunno. Old version looks comparable or
> even more readable...
>
> Best regards,
> Pavel
The library functions that are in the kernel tree which are used
in different file-systems and fabrics drivers do take 6 arguments.

Plus what is the point of duplicating code for mandatory
parameters all over the kernel ?