Displaying 20 results from an estimated 24 matches for "opaque1".
Did you mean:
opaque
2017 Jul 26
1
[PATCH v12 6/8] mm: support reporting free page blocks
On Wed 26-07-17 19:44:23, Wei Wang wrote:
[...]
> I thought about it more. Probably we can use the callback function with a
> little change like this:
>
> void walk_free_mem(void *opaque1, void (*visit)(void *opaque2, unsigned long
> pfn,
> unsigned long nr_pages))
> {
> ...
> for_each_populated_zone(zone) {
> for_each_migratetype_order(order, type) {
> report_unused_page_block(zone, order, type, &...
2017 Jul 26
1
[PATCH v12 6/8] mm: support reporting free page blocks
On Wed 26-07-17 19:44:23, Wei Wang wrote:
[...]
> I thought about it more. Probably we can use the callback function with a
> little change like this:
>
> void walk_free_mem(void *opaque1, void (*visit)(void *opaque2, unsigned long
> pfn,
> unsigned long nr_pages))
> {
> ...
> for_each_populated_zone(zone) {
> for_each_migratetype_order(order, type) {
> report_unused_page_block(zone, order, type, &...
2017 Aug 03
4
[PATCH v13 4/5] mm: support reporting free page blocks
....h
> @@ -1835,6 +1835,13 @@ extern void free_area_init_node(int nid, unsigned long * zones_size,
> unsigned long zone_start_pfn, unsigned long *zholes_size);
> extern void free_initmem(void);
>
> +#if IS_ENABLED(CONFIG_VIRTIO_BALLOON)
> +extern void walk_free_mem_block(void *opaque1,
> + unsigned int min_order,
> + void (*visit)(void *opaque2,
> + unsigned long pfn,
> + unsigned long nr_pages));
> +#endif
Is the ifdef necessary. Sure only virtio balloon driver will use this
currently but this looks like a generic functionality not spec...
2017 Aug 03
4
[PATCH v13 4/5] mm: support reporting free page blocks
....h
> @@ -1835,6 +1835,13 @@ extern void free_area_init_node(int nid, unsigned long * zones_size,
> unsigned long zone_start_pfn, unsigned long *zholes_size);
> extern void free_initmem(void);
>
> +#if IS_ENABLED(CONFIG_VIRTIO_BALLOON)
> +extern void walk_free_mem_block(void *opaque1,
> + unsigned int min_order,
> + void (*visit)(void *opaque2,
> + unsigned long pfn,
> + unsigned long nr_pages));
> +#endif
Is the ifdef necessary. Sure only virtio balloon driver will use this
currently but this looks like a generic functionality not spec...
2017 Jul 26
2
[PATCH v12 6/8] mm: support reporting free page blocks
On Wed 26-07-17 10:22:23, Wei Wang wrote:
> On 07/25/2017 10:53 PM, Michal Hocko wrote:
> >On Tue 25-07-17 14:47:16, Wang, Wei W wrote:
> >>On Tuesday, July 25, 2017 8:42 PM, hal Hocko wrote:
> >>>On Tue 25-07-17 19:56:24, Wei Wang wrote:
> >>>>On 07/25/2017 07:25 PM, Michal Hocko wrote:
> >>>>>On Tue 25-07-17 17:32:00, Wei Wang wrote:
2017 Jul 26
2
[PATCH v12 6/8] mm: support reporting free page blocks
On Wed 26-07-17 10:22:23, Wei Wang wrote:
> On 07/25/2017 10:53 PM, Michal Hocko wrote:
> >On Tue 25-07-17 14:47:16, Wang, Wei W wrote:
> >>On Tuesday, July 25, 2017 8:42 PM, hal Hocko wrote:
> >>>On Tue 25-07-17 19:56:24, Wei Wang wrote:
> >>>>On 07/25/2017 07:25 PM, Michal Hocko wrote:
> >>>>>On Tue 25-07-17 17:32:00, Wei Wang wrote:
2017 Aug 03
0
[PATCH v13 4/5] mm: support reporting free page blocks
...ux/mm.h
+++ b/include/linux/mm.h
@@ -1835,6 +1835,13 @@ extern void free_area_init_node(int nid, unsigned long * zones_size,
unsigned long zone_start_pfn, unsigned long *zholes_size);
extern void free_initmem(void);
+#if IS_ENABLED(CONFIG_VIRTIO_BALLOON)
+extern void walk_free_mem_block(void *opaque1,
+ unsigned int min_order,
+ void (*visit)(void *opaque2,
+ unsigned long pfn,
+ unsigned long nr_pages));
+#endif
/*
* Free reserved pages within range [PAGE_ALIGN(start), end & PAGE_MASK)
* into the buddy system. The freed pages will be poisoned with pattern
dif...
2006 Jun 09
1
[LLVMdev] Why Is This Illegal?
Can anyone tell me where my blunder is in the following program?
llvm-as reports:
llvm-as: testit.ll:11: Can't store 'opaque *' into space of type 'opaque
*'!
Which doesn't seem to make sense to me. What is it that is illegal about
storing a pointer to opaque in a space that is of type pointer to
opaque? Is it just that you can't store pointers to opaque?
%path =
2017 Jul 26
0
[PATCH v12 6/8] mm: support reporting free page blocks
...continuous memory, size=2M).
> So what exactly prevents virtio-balloon from using the above proposed
> callback mechanism and export what is needed to the hypervisor?
I thought about it more. Probably we can use the callback function with
a little change like this:
void walk_free_mem(void *opaque1, void (*visit)(void *opaque2, unsigned
long pfn,
unsigned long nr_pages))
{
...
for_each_populated_zone(zone) {
for_each_migratetype_order(order, type) {
report_unused_page_block(zone, order, type,
&page); // from patch 6...
2017 Aug 03
2
[PATCH v13 4/5] mm: support reporting free page blocks
...lags);
> ret = report_free_page_block(zone, order, type,
> &page)) {
> pfn = page_to_pfn(page);
> nr_pages = 1 << order;
> visit(opaque1, pfn, nr_pages);
> }
> => spin_unlock_irqrestore(&zone->lock, flags);
> } while (!ret)
> }
>
> In this way, we can still keep the lock granularity at one free page block
> while having the struct page operated under t...
2017 Aug 03
2
[PATCH v13 4/5] mm: support reporting free page blocks
...lags);
> ret = report_free_page_block(zone, order, type,
> &page)) {
> pfn = page_to_pfn(page);
> nr_pages = 1 << order;
> visit(opaque1, pfn, nr_pages);
> }
> => spin_unlock_irqrestore(&zone->lock, flags);
> } while (!ret)
> }
>
> In this way, we can still keep the lock granularity at one free page block
> while having the struct page operated under t...
2017 Aug 03
0
[PATCH v13 4/5] mm: support reporting free page blocks
...5,13 @@ extern void free_area_init_node(int nid, unsigned long * zones_size,
>> unsigned long zone_start_pfn, unsigned long *zholes_size);
>> extern void free_initmem(void);
>>
>> +#if IS_ENABLED(CONFIG_VIRTIO_BALLOON)
>> +extern void walk_free_mem_block(void *opaque1,
>> + unsigned int min_order,
>> + void (*visit)(void *opaque2,
>> + unsigned long pfn,
>> + unsigned long nr_pages));
>> +#endif
> Is the ifdef necessary. Sure only virtio balloon driver will use this
> currently but this looks like a g...
2017 Aug 03
2
[PATCH v13 4/5] mm: support reporting free page blocks
On Thu 03-08-17 19:27:19, Wei Wang wrote:
> On 08/03/2017 06:44 PM, Michal Hocko wrote:
> >On Thu 03-08-17 18:42:15, Wei Wang wrote:
> >>On 08/03/2017 05:11 PM, Michal Hocko wrote:
> >>>On Thu 03-08-17 14:38:18, Wei Wang wrote:
> >[...]
> >>>>+static int report_free_page_block(struct zone *zone, unsigned int order,
> >>>>+
2017 Aug 03
2
[PATCH v13 4/5] mm: support reporting free page blocks
On Thu 03-08-17 19:27:19, Wei Wang wrote:
> On 08/03/2017 06:44 PM, Michal Hocko wrote:
> >On Thu 03-08-17 18:42:15, Wei Wang wrote:
> >>On 08/03/2017 05:11 PM, Michal Hocko wrote:
> >>>On Thu 03-08-17 14:38:18, Wei Wang wrote:
> >[...]
> >>>>+static int report_free_page_block(struct zone *zone, unsigned int order,
> >>>>+
2017 Aug 08
0
[PATCH v13 4/5] mm: support reporting free page blocks
...rder_decend(1, order, mt) {
spin_lock_irqsave(&zone->lock, flags);
list_for_each_entry(page,
&zone->free_area[order].free_list[mt], lru) {
pfn = page_to_pfn(page);
visit(opaque1, pfn, 1 << order);
}
spin_unlock_irqrestore(&zone->lock, flags);
}
}
Best,
Wei
2017 Aug 03
0
[PATCH v13 4/5] mm: support reporting free page blocks
...amp;zone->lock, flags);
ret = report_free_page_block(zone, order, type,
&page)) {
pfn = page_to_pfn(page);
nr_pages = 1 << order;
visit(opaque1, pfn, nr_pages);
}
=> spin_unlock_irqrestore(&zone->lock, flags);
} while (!ret)
}
In this way, we can still keep the lock granularity at one free page block
while having the struct page operated under the lock.
Best,
Wei
2017 Aug 03
0
[PATCH v13 4/5] mm: support reporting free page blocks
...ret = report_free_page_block(zone, order, type,
>> &page)) {
>> pfn = page_to_pfn(page);
>> nr_pages = 1 << order;
>> visit(opaque1, pfn, nr_pages);
>> }
>> => spin_unlock_irqrestore(&zone->lock, flags);
>> } while (!ret)
>> }
>>
>> In this way, we can still keep the lock granularity at one free page block
>> while having th...
2017 Aug 08
2
[virtio-dev] Re: [PATCH v13 4/5] mm: support reporting free page blocks
...decend(min_order, order, mt)
> spin_lock_irqsave(&zone->lock, flags);
> list_for_each_entry(page,
> &zone->free_area[order].free_list[mt], lru) {
> pfn = page_to_pfn(page);
> visit(opaque1, pfn, 1 << order);
> }
> spin_unlock_irqrestore(&zone->lock, flags);
> }
> }
>
>
Best,
Wei
2017 Aug 08
2
[virtio-dev] Re: [PATCH v13 4/5] mm: support reporting free page blocks
...decend(min_order, order, mt)
> spin_lock_irqsave(&zone->lock, flags);
> list_for_each_entry(page,
> &zone->free_area[order].free_list[mt], lru) {
> pfn = page_to_pfn(page);
> visit(opaque1, pfn, 1 << order);
> }
> spin_unlock_irqrestore(&zone->lock, flags);
> }
> }
>
>
Best,
Wei
2017 Aug 03
2
[PATCH v13 4/5] mm: support reporting free page blocks
...ret = report_free_page_block(zone, order, type,
> >> &page)) {
> >> pfn = page_to_pfn(page);
> >> nr_pages = 1 << order;
> >> visit(opaque1, pfn, nr_pages);
> >> }
> >> => spin_unlock_irqrestore(&zone->lock, flags);
> >> } while (!ret)
> >>}
> >>
> >>In this way, we can still keep the lock granularity at one free page block...