[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <28A97E4D-3B8D-4151-8F94-627629E89263@163.com>
Date: Thu, 23 Jun 2016 22:31:39 +0800
From: pi3orama <pi3orama@....com>
To: Nilay Vaish <nilayvaish@...il.com>
Cc: Wang Nan <wangnan0@...wei.com>, acme@...nel.org,
Linux Kernel list <linux-kernel@...r.kernel.org>,
He Kuang <hekuang@...wei.com>,
Arnaldo Carvalho de Melo <acme@...hat.com>,
Jiri Olsa <jolsa@...nel.org>,
Masami Hiramatsu <mhiramat@...nel.org>,
Namhyung Kim <namhyung@...nel.org>,
Zefan Li <lizefan@...wei.com>
Subject: Re: [PATCH v10 07/10] perf record: Read from overwritable ring buffer
发自我的 iPhone
> 在 2016年6月23日,下午10:27,Nilay Vaish <nilayvaish@...il.com> 写道:
>
>> On 23 June 2016 at 00:27, Wang Nan <wangnan0@...wei.com> wrote:
>> @@ -542,6 +568,79 @@ static struct perf_event_header finished_round_event = {
>> .type = PERF_RECORD_FINISHED_ROUND,
>> };
>>
>> +static void
>> +record__toggle_overwrite_evsels(struct record *rec,
>> + enum overwrite_evt_state state)
>> +{
>> + struct perf_evlist *evlist = rec->overwrite_evlist;
>> + enum overwrite_evt_state old_state = rec->overwrite_evt_state;
>> + enum action {
>> + NONE,
>> + PAUSE,
>> + RESUME,
>> + } action = NONE;
>> +
>> + switch (old_state) {
>> + case OVERWRITE_EVT_RUNNING: {
>> + switch (state) {
>> + case OVERWRITE_EVT_DATA_PENDING:
>> + action = PAUSE;
>> + break;
>> + case OVERWRITE_EVT_RUNNING:
>> + case OVERWRITE_EVT_EMPTY:
>> + default:
>> + goto state_err;
>> + }
>> + break;
>> + }
>> + case OVERWRITE_EVT_DATA_PENDING: {
>> + switch (state) {
>> + case OVERWRITE_EVT_EMPTY:
>> + break;
>> + case OVERWRITE_EVT_RUNNING:
>> + case OVERWRITE_EVT_DATA_PENDING:
>> + default:
>> + goto state_err;
>> + }
>> + break;
>> + }
>> + case OVERWRITE_EVT_EMPTY: {
>> + switch (state) {
>> + case OVERWRITE_EVT_RUNNING:
>> + action = RESUME;
>> + break;
>> + case OVERWRITE_EVT_EMPTY:
>> + case OVERWRITE_EVT_DATA_PENDING:
>> + default:
>> + goto state_err;
>
>
> Wang, thanks for making the changes I suggested.
> The patch overall looks fine to me. Just as a matter
> of style, I probably would not write case labels that
> do not have any statements associated with them.
> I'll let default take care of those labels.
>
I don't like them either.
You have to do this when you start working
on perf code. It turns on -Wall and -Werror,
without these case gcc will complain,
compiling will fail.
Thank you.
> --
> Nilay
Powered by blists - more mailing lists