[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 1/5] x86/hpet: Pre cleanup
>>> On 07.11.13 at 16:28, Andrew Cooper <andrew.cooper3@xxxxxxxxxx> wrote: > This is a set of changes which might not make sense alone, but are > used/required for the main purpose of the series, and simply the mammoth > patch > making it easier to review. > > * Make hpet_msi_write conditionally disable MSIs while updating the route > register. This removes the requirement that it must be masked while > writing. > > * Defer read of cfg register in hpet_setup_msi_irq. As a result, an > intremap > failure prevents us suffering a pointless MMIO read. Rather benign I would say - this isn't a hot code path. > * Change some instances of per_cpu($foo, cpu) to this_cpu($foo). It is > cleaner to read, and makes it more obvious when the code is poking around > in > another cpus data. Documentation wise this is certainly desirable, but since our this_cpu(), other than e.g. Linux'es equivalents, internally does another smp_processor_id(), generate code becomes worse. > * Convert hpet_next_event() to taking a struct hpet_event_channel *, and > rename to __hpet_set_counter() for a more accurate description of its > actions. I very much think we should get away from the habit of prefixing symbols with two underscores: Such names are reserved to the compiler/platform, and the standard specifically reserves names starting with one underscore (and not followed by an upper case letter) for use a file scope symbols. This is what I'd like to request be done here. > @@ -697,14 +707,16 @@ void hpet_broadcast_enter(void) > { > unsigned int cpu = smp_processor_id(); > struct hpet_event_channel *ch = per_cpu(cpu_bc_channel, cpu); And you're not even consistent with your conversion - you don't convert the above, ... > + s_time_t deadline = this_cpu(timer_deadline); > + > + ASSERT(!local_irq_is_enabled()); > > - if ( per_cpu(timer_deadline, cpu) == 0 ) ... but you do convert this one. > @@ -725,7 +737,9 @@ void hpet_broadcast_exit(void) > unsigned int cpu = smp_processor_id(); > struct hpet_event_channel *ch = per_cpu(cpu_bc_channel, cpu); > > - if ( per_cpu(timer_deadline, cpu) == 0 ) > + ASSERT(local_irq_is_enabled()); > + > + if ( this_cpu(timer_deadline) == 0 ) Same here. Anyway - I'd prefer these to be left alone. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |