qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC v1 08/22] memory: provide defaults for MemoryListe


From: Avi Kivity
Subject: Re: [Qemu-devel] [RFC v1 08/22] memory: provide defaults for MemoryListener operations
Date: Thu, 04 Oct 2012 16:29:50 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120911 Thunderbird/15.0.1

On 10/04/2012 04:05 PM, Anthony Liguori wrote:
> Avi Kivity <address@hidden> writes:
> 
>> Many listeners don't need to respond to all MemoryListener callbacks;
>> provide suitable defaults instead.
>>

>> +#define MEMORY_LISTENER_DEFAULT_OPS                         \
>> +    .begin = memory_listener_default_global,                \
>> +    .commit = memory_listener_default_global,               \
>> +    .region_add = memory_listener_default_section,          \
>> +    .region_del = memory_listener_default_section,          \
>> +    .region_nop = memory_listener_default_section,          \
>> +    .log_start = memory_listener_default_section,           \
>> +    .log_stop = memory_listener_default_section,            \
>> +    .log_sync = memory_listener_default_section,            \
>> +    .log_global_start = memory_listener_default_global,     \
>> +    .log_global_stop = memory_listener_default_global,      \
>> +    .eventfd_add = memory_listener_default_eventfd,         \
>> +    .eventfd_del = memory_listener_default_eventfd          \
>> +
>> +void memory_listener_default_global(MemoryListener *listener);
>> +void memory_listener_default_section(MemoryListener *listener,
>> +                                     MemoryRegionSection *section);
>> +void memory_listener_default_eventfd(MemoryListener *listener,
>> +                                     MemoryRegionSection *section,
>> +                                     bool match_data, uint64_t data, 
>> EventNotifier *e);
>> +
>>  /**
>>   * memory_region_init: Initialize a memory region
>>   *
> 
> I think it'd be nicer to check for NULL when invoking the functions in
> the memory core.
> 
> Then you avoid the exported stub functions entirely.

Yes, that's the common style, but I happen not to like the extra check,
both from a performance point of view (doesn't apply here of course) and
from a readability point of view.

-- 
error compiling committee.c: too many arguments to function



reply via email to

[Prev in Thread] Current Thread [Next in Thread]