|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 09/10] xen/nodemask: Sanitise the remainder of the nodemask API
On 29.07.2019 14:12, Andrew Cooper wrote:
> --- a/xen/arch/x86/srat.c
> +++ b/xen/arch/x86/srat.c
> @@ -332,7 +332,7 @@ acpi_numa_memory_affinity_init(const struct
> acpi_srat_mem_affinity *ma)
> if (!(ma->flags & ACPI_SRAT_MEM_HOT_PLUGGABLE)) {
> struct node *nd = &nodes[node];
>
> - if (!node_test_and_set(node, memory_nodes_parsed)) {
> + if (!nodemask_test_and_set(node, &memory_nodes_parsed)) {
Shouldn't this have become __nodemask_test_and_set() already in the
previous patch (with the leading underscores taken care of in
whatever way we decide there)?
> @@ -376,7 +376,7 @@ static int __init nodes_cover_memory(void)
>
> do {
> found = 0;
> - for_each_node_mask(j, memory_nodes_parsed)
> + for_each_node_mask( j, &memory_nodes_parsed )
Here and elsewhere - if you add the inner blanks, then there also
wants to be a blank ahead of the opening parenthesis.
> @@ -1171,7 +1171,7 @@ static unsigned int node_to_scrub(bool get_node)
> node = 0;
>
> if ( node_need_scrub[node] &&
> - (!get_node || !node_test_and_set(node, node_scrubbing)) )
> + (!get_node || !nodemask_test_and_set(node, &node_scrubbing)) )
> return node;
>
> /*
> @@ -1205,10 +1205,10 @@ static unsigned int node_to_scrub(bool get_node)
> * then we'd need to take this lock every time we come in here.
> */
> if ( (dist < shortest || closest == NUMA_NO_NODE) &&
> - !node_test_and_set(node, node_scrubbing) )
> + !nodemask_test_and_set(node, &node_scrubbing) )
> {
> if ( closest != NUMA_NO_NODE )
> - node_clear(closest, node_scrubbing);
> + nodemask_clear(closest, &node_scrubbing);
> shortest = dist;
> closest = node;
> }
> @@ -1360,7 +1360,7 @@ bool scrub_free_pages(void)
> spin_unlock(&heap_lock);
>
> out_nolock:
> - node_clear(node, node_scrubbing);
> + nodemask_clear(node, &node_scrubbing);
Seeing this happen after dropping the heap lock, I think the two
nodemask_test_and_set() that I've left in context above could be
converted to their non-locked counterparts at this occasion (or
again in the previous patch).
> #if MAX_NUMNODES > 1
> #define for_each_node_mask(node, mask) \
> - for ((node) = first_node(mask); \
> + for ((node) = nodemask_first(mask); \
> (node) < MAX_NUMNODES; \
> - (node) = next_node((node), (mask)))
> + (node) = nodemask_next(node, mask))
> #else /* MAX_NUMNODES == 1 */
> #define for_each_node_mask(node, mask) \
> - if (!nodes_empty(mask)) \
> + if ( !nodemask_empty(mask) ) \
> for ((node) = 0; (node) < 1; (node)++)
> #endif /* MAX_NUMNODES */
Further up in the file you did also replace tabs and insert spaces.
Would you mind doing this here as well (I notice you've adjusted
the if() already, but left the for()s alone).
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |