Message ID | f12820f6c5fca9b10ac8f82b3689c50ccb6966aa.1638117878.git.christophe.jaillet@wanadoo.fr (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] drm/amdkfd: Use bitmap_zalloc() when applicable | expand |
Hi Christophe, I just stumbled over this patch series while cleaning up my inbox. Sorry for dropping it back in November. I'm about to apply it but I noticed that patch 1 is missing a Signed-off-by. Is it OK to add that in your name? Thanks, Felix Am 2021-11-28 um 11:45 schrieb Christophe JAILLET: > 'kfd->gtt_sa_bitmap' is a bitmap. So use 'bitmap_zalloc()' to simplify > code, improve the semantic and avoid some open-coded arithmetic in > allocator arguments. > > Also change the corresponding 'kfree()' into 'bitmap_free()' to keep > consistency. > --- > drivers/gpu/drm/amd/amdkfd/kfd_device.c | 12 +++--------- > 1 file changed, 3 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device.c b/drivers/gpu/drm/amd/amdkfd/kfd_device.c > index e1294fba0c26..c5a0ce44a295 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_device.c > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device.c > @@ -1252,8 +1252,6 @@ int kgd2kfd_schedule_evict_and_restore_process(struct mm_struct *mm, > static int kfd_gtt_sa_init(struct kfd_dev *kfd, unsigned int buf_size, > unsigned int chunk_size) > { > - unsigned int num_of_longs; > - > if (WARN_ON(buf_size < chunk_size)) > return -EINVAL; > if (WARN_ON(buf_size == 0)) > @@ -1264,11 +1262,8 @@ static int kfd_gtt_sa_init(struct kfd_dev *kfd, unsigned int buf_size, > kfd->gtt_sa_chunk_size = chunk_size; > kfd->gtt_sa_num_of_chunks = buf_size / chunk_size; > > - num_of_longs = (kfd->gtt_sa_num_of_chunks + BITS_PER_LONG - 1) / > - BITS_PER_LONG; > - > - kfd->gtt_sa_bitmap = kcalloc(num_of_longs, sizeof(long), GFP_KERNEL); > - > + kfd->gtt_sa_bitmap = bitmap_zalloc(kfd->gtt_sa_num_of_chunks, > + GFP_KERNEL); > if (!kfd->gtt_sa_bitmap) > return -ENOMEM; > > @@ -1278,13 +1273,12 @@ static int kfd_gtt_sa_init(struct kfd_dev *kfd, unsigned int buf_size, > mutex_init(&kfd->gtt_sa_lock); > > return 0; > - > } > > static void kfd_gtt_sa_fini(struct kfd_dev *kfd) > { > mutex_destroy(&kfd->gtt_sa_lock); > - kfree(kfd->gtt_sa_bitmap); > + bitmap_free(kfd->gtt_sa_bitmap); > } > > static inline uint64_t kfd_gtt_sa_calc_gpu_addr(uint64_t start_addr,
Le 26/04/2022 à 20:01, Felix Kuehling a écrit : > Hi Christophe, > > I just stumbled over this patch series while cleaning up my inbox. Sorry > for dropping it back in November. I'm about to apply it but I noticed > that patch 1 is missing a Signed-off-by. Is it OK to add that in your name? Hi, No problem for me if you can add it. Thanks. But if you prefer a v2, it is also fine for me. BTW sorry for missing the SoB tag. This definitively means that I forgot the checkpatch.pl step for this patch, which is bad. CJ > > Thanks, > Felix > > > Am 2021-11-28 um 11:45 schrieb Christophe JAILLET: >> 'kfd->gtt_sa_bitmap' is a bitmap. So use 'bitmap_zalloc()' to simplify >> code, improve the semantic and avoid some open-coded arithmetic in >> allocator arguments. >> >> Also change the corresponding 'kfree()' into 'bitmap_free()' to keep >> consistency. >> --- >> drivers/gpu/drm/amd/amdkfd/kfd_device.c | 12 +++--------- >> 1 file changed, 3 insertions(+), 9 deletions(-) >> >> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device.c >> b/drivers/gpu/drm/amd/amdkfd/kfd_device.c >> index e1294fba0c26..c5a0ce44a295 100644 >> --- a/drivers/gpu/drm/amd/amdkfd/kfd_device.c >> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device.c >> @@ -1252,8 +1252,6 @@ int >> kgd2kfd_schedule_evict_and_restore_process(struct mm_struct *mm, >> static int kfd_gtt_sa_init(struct kfd_dev *kfd, unsigned int buf_size, >> unsigned int chunk_size) >> { >> - unsigned int num_of_longs; >> - >> if (WARN_ON(buf_size < chunk_size)) >> return -EINVAL; >> if (WARN_ON(buf_size == 0)) >> @@ -1264,11 +1262,8 @@ static int kfd_gtt_sa_init(struct kfd_dev *kfd, >> unsigned int buf_size, >> kfd->gtt_sa_chunk_size = chunk_size; >> kfd->gtt_sa_num_of_chunks = buf_size / chunk_size; >> - num_of_longs = (kfd->gtt_sa_num_of_chunks + BITS_PER_LONG - 1) / >> - BITS_PER_LONG; >> - >> - kfd->gtt_sa_bitmap = kcalloc(num_of_longs, sizeof(long), >> GFP_KERNEL); >> - >> + kfd->gtt_sa_bitmap = bitmap_zalloc(kfd->gtt_sa_num_of_chunks, >> + GFP_KERNEL); >> if (!kfd->gtt_sa_bitmap) >> return -ENOMEM; >> @@ -1278,13 +1273,12 @@ static int kfd_gtt_sa_init(struct kfd_dev >> *kfd, unsigned int buf_size, >> mutex_init(&kfd->gtt_sa_lock); >> return 0; >> - >> } >> static void kfd_gtt_sa_fini(struct kfd_dev *kfd) >> { >> mutex_destroy(&kfd->gtt_sa_lock); >> - kfree(kfd->gtt_sa_bitmap); >> + bitmap_free(kfd->gtt_sa_bitmap); >> } >> static inline uint64_t kfd_gtt_sa_calc_gpu_addr(uint64_t start_addr, >
Am 2022-04-26 um 14:47 schrieb Christophe JAILLET: > Le 26/04/2022 à 20:01, Felix Kuehling a écrit : >> Hi Christophe, >> >> I just stumbled over this patch series while cleaning up my inbox. >> Sorry for dropping it back in November. I'm about to apply it but I >> noticed that patch 1 is missing a Signed-off-by. Is it OK to add that >> in your name? > > Hi, > > No problem for me if you can add it. Thanks. > But if you prefer a v2, it is also fine for me. No need. I submitted the patches to amd-staging-drm-next. Regards, Felix > > BTW sorry for missing the SoB tag. This definitively means that I > forgot the checkpatch.pl step for this patch, which is bad. > > CJ > >> >> Thanks, >> Felix >> >> >> Am 2021-11-28 um 11:45 schrieb Christophe JAILLET: >>> 'kfd->gtt_sa_bitmap' is a bitmap. So use 'bitmap_zalloc()' to simplify >>> code, improve the semantic and avoid some open-coded arithmetic in >>> allocator arguments. >>> >>> Also change the corresponding 'kfree()' into 'bitmap_free()' to keep >>> consistency. >>> --- >>> drivers/gpu/drm/amd/amdkfd/kfd_device.c | 12 +++--------- >>> 1 file changed, 3 insertions(+), 9 deletions(-) >>> >>> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device.c >>> b/drivers/gpu/drm/amd/amdkfd/kfd_device.c >>> index e1294fba0c26..c5a0ce44a295 100644 >>> --- a/drivers/gpu/drm/amd/amdkfd/kfd_device.c >>> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device.c >>> @@ -1252,8 +1252,6 @@ int >>> kgd2kfd_schedule_evict_and_restore_process(struct mm_struct *mm, >>> static int kfd_gtt_sa_init(struct kfd_dev *kfd, unsigned int >>> buf_size, >>> unsigned int chunk_size) >>> { >>> - unsigned int num_of_longs; >>> - >>> if (WARN_ON(buf_size < chunk_size)) >>> return -EINVAL; >>> if (WARN_ON(buf_size == 0)) >>> @@ -1264,11 +1262,8 @@ static int kfd_gtt_sa_init(struct kfd_dev >>> *kfd, unsigned int buf_size, >>> kfd->gtt_sa_chunk_size = chunk_size; >>> kfd->gtt_sa_num_of_chunks = buf_size / chunk_size; >>> - num_of_longs = (kfd->gtt_sa_num_of_chunks + BITS_PER_LONG - 1) / >>> - BITS_PER_LONG; >>> - >>> - kfd->gtt_sa_bitmap = kcalloc(num_of_longs, sizeof(long), >>> GFP_KERNEL); >>> - >>> + kfd->gtt_sa_bitmap = bitmap_zalloc(kfd->gtt_sa_num_of_chunks, >>> + GFP_KERNEL); >>> if (!kfd->gtt_sa_bitmap) >>> return -ENOMEM; >>> @@ -1278,13 +1273,12 @@ static int kfd_gtt_sa_init(struct kfd_dev >>> *kfd, unsigned int buf_size, >>> mutex_init(&kfd->gtt_sa_lock); >>> return 0; >>> - >>> } >>> static void kfd_gtt_sa_fini(struct kfd_dev *kfd) >>> { >>> mutex_destroy(&kfd->gtt_sa_lock); >>> - kfree(kfd->gtt_sa_bitmap); >>> + bitmap_free(kfd->gtt_sa_bitmap); >>> } >>> static inline uint64_t kfd_gtt_sa_calc_gpu_addr(uint64_t start_addr, >> >
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device.c b/drivers/gpu/drm/amd/amdkfd/kfd_device.c index e1294fba0c26..c5a0ce44a295 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_device.c +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device.c @@ -1252,8 +1252,6 @@ int kgd2kfd_schedule_evict_and_restore_process(struct mm_struct *mm, static int kfd_gtt_sa_init(struct kfd_dev *kfd, unsigned int buf_size, unsigned int chunk_size) { - unsigned int num_of_longs; - if (WARN_ON(buf_size < chunk_size)) return -EINVAL; if (WARN_ON(buf_size == 0)) @@ -1264,11 +1262,8 @@ static int kfd_gtt_sa_init(struct kfd_dev *kfd, unsigned int buf_size, kfd->gtt_sa_chunk_size = chunk_size; kfd->gtt_sa_num_of_chunks = buf_size / chunk_size; - num_of_longs = (kfd->gtt_sa_num_of_chunks + BITS_PER_LONG - 1) / - BITS_PER_LONG; - - kfd->gtt_sa_bitmap = kcalloc(num_of_longs, sizeof(long), GFP_KERNEL); - + kfd->gtt_sa_bitmap = bitmap_zalloc(kfd->gtt_sa_num_of_chunks, + GFP_KERNEL); if (!kfd->gtt_sa_bitmap) return -ENOMEM; @@ -1278,13 +1273,12 @@ static int kfd_gtt_sa_init(struct kfd_dev *kfd, unsigned int buf_size, mutex_init(&kfd->gtt_sa_lock); return 0; - } static void kfd_gtt_sa_fini(struct kfd_dev *kfd) { mutex_destroy(&kfd->gtt_sa_lock); - kfree(kfd->gtt_sa_bitmap); + bitmap_free(kfd->gtt_sa_bitmap); } static inline uint64_t kfd_gtt_sa_calc_gpu_addr(uint64_t start_addr,