Re: [PATCH v7 0/7] coroutines: generate wrapper code

2020-08-20 Thread Paolo Bonzini
On 20/08/20 03:33, Eric Blake wrote:
>>>
>>
>> OK, will do. Thanks for taking a look!
> 
> As this series touched Makefile to add a generated .c, you'll also need
> to rebase that part to apply on top of Paolo's meson conversion (cc'ing
> him if you need help figuring it out)

It should be trivial to do so using custom_target.

Paolo




Re: [PATCH v7 0/7] coroutines: generate wrapper code

2020-08-19 Thread Eric Blake

On 7/27/20 7:59 AM, Vladimir Sementsov-Ogievskiy wrote:

27.07.2020 15:48, Stefan Hajnoczi wrote:
On Wed, Jun 10, 2020 at 01:03:29PM +0300, Vladimir Sementsov-Ogievskiy 
wrote:

Hi all!

The aim of the series is to reduce code-duplication and writing
parameters structure-packing by hand around coroutine function wrappers.

Benefits:
  - no code duplication
  - less indirection


Please add documentation so others know when and how to use this.

I suggest adding a docs/devel/coroutine-wrapper.rst document and adding
a code comment to #define generated_co_wrapper pointing to the
documentation.

Please rename coroutine-wrapper.py to block-coroutine-wrapper.py since
it is specific to the block layer.



OK, will do. Thanks for taking a look!


As this series touched Makefile to add a generated .c, you'll also need 
to rebase that part to apply on top of Paolo's meson conversion (cc'ing 
him if you need help figuring it out)


--
Eric Blake, Principal Software Engineer
Red Hat, Inc.   +1-919-301-3226
Virtualization:  qemu.org | libvirt.org




Re: [PATCH v7 0/7] coroutines: generate wrapper code

2020-07-27 Thread Vladimir Sementsov-Ogievskiy

27.07.2020 15:48, Stefan Hajnoczi wrote:

On Wed, Jun 10, 2020 at 01:03:29PM +0300, Vladimir Sementsov-Ogievskiy wrote:

Hi all!

The aim of the series is to reduce code-duplication and writing
parameters structure-packing by hand around coroutine function wrappers.

Benefits:
  - no code duplication
  - less indirection


Please add documentation so others know when and how to use this.

I suggest adding a docs/devel/coroutine-wrapper.rst document and adding
a code comment to #define generated_co_wrapper pointing to the
documentation.

Please rename coroutine-wrapper.py to block-coroutine-wrapper.py since
it is specific to the block layer.



OK, will do. Thanks for taking a look!


--
Best regards,
Vladimir



Re: [PATCH v7 0/7] coroutines: generate wrapper code

2020-07-27 Thread Stefan Hajnoczi
On Wed, Jun 10, 2020 at 01:03:29PM +0300, Vladimir Sementsov-Ogievskiy wrote:
> Hi all!
> 
> The aim of the series is to reduce code-duplication and writing
> parameters structure-packing by hand around coroutine function wrappers.
> 
> Benefits:
>  - no code duplication
>  - less indirection

Please add documentation so others know when and how to use this.

I suggest adding a docs/devel/coroutine-wrapper.rst document and adding
a code comment to #define generated_co_wrapper pointing to the
documentation.

Please rename coroutine-wrapper.py to block-coroutine-wrapper.py since
it is specific to the block layer.

Stefan


signature.asc
Description: PGP signature


[PATCH v7 0/7] coroutines: generate wrapper code

2020-06-10 Thread Vladimir Sementsov-Ogievskiy
Hi all!

The aim of the series is to reduce code-duplication and writing
parameters structure-packing by hand around coroutine function wrappers.

Benefits:
 - no code duplication
 - less indirection

v7: apply Eric's suggestions
02: fix grammar in commit msg, add Eric's r-b
04: - don't create separate header for generated_co_wrapper thing
- inline aio_wait_kick() call
- use json.dumps to make style for clang-format
05: - drop "#include "block/generated-co-wrapper.h" (since the header is 
removed)
- add Eric's r-b

Vladimir Sementsov-Ogievskiy (7):
  block: return error-code from bdrv_invalidate_cache
  block/io: refactor coroutine wrappers
  block: declare some coroutine functions in block/coroutines.h
  scripts: add coroutine-wrapper.py
  block: generate coroutine-wrapper code
  block: drop bdrv_prwv
  block/io: refactor save/load vmstate

 Makefile |   8 +
 block/block-gen.h|  49 +
 block/coroutines.h   |  65 +++
 include/block/block.h|  31 ++--
 block.c  |  97 ++
 block/io.c   | 336 +--
 tests/test-bdrv-drain.c  |   2 +-
 block/Makefile.objs  |   1 +
 scripts/coroutine-wrapper.py | 180 +++
 9 files changed, 388 insertions(+), 381 deletions(-)
 create mode 100644 block/block-gen.h
 create mode 100644 block/coroutines.h
 create mode 100755 scripts/coroutine-wrapper.py

-- 
2.21.0