mirror of
https://git.proxmox.com/git/mirror_lxc
synced 2025-08-06 13:53:14 +00:00
compiler: add __hot attribute
This instructs the compiler to better optimize the config parsing code. Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
This commit is contained in:
parent
810fd51c92
commit
afeec9b739
@ -46,6 +46,10 @@
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __hot
|
||||||
|
# define __hot __attribute__((hot))
|
||||||
|
#endif
|
||||||
|
|
||||||
#define __cgfsng_ops
|
#define __cgfsng_ops
|
||||||
|
|
||||||
#endif /* __LXC_COMPILER_H */
|
#endif /* __LXC_COMPILER_H */
|
||||||
|
@ -70,12 +70,13 @@
|
|||||||
|
|
||||||
lxc_log_define(confile, lxc);
|
lxc_log_define(confile, lxc);
|
||||||
|
|
||||||
#define lxc_config_define(name) \
|
#define lxc_config_define(name) \
|
||||||
static int set_config_##name(const char *, const char *, \
|
__hot static int set_config_##name(const char *, const char *, \
|
||||||
struct lxc_conf *, void *); \
|
struct lxc_conf *, void *); \
|
||||||
static int get_config_##name(const char *, char *, int, \
|
__hot static int get_config_##name(const char *, char *, int, \
|
||||||
struct lxc_conf *, void *); \
|
struct lxc_conf *, void *); \
|
||||||
static int clr_config_##name(const char *, struct lxc_conf *, void *);
|
__hot static int clr_config_##name(const char *, struct lxc_conf *, \
|
||||||
|
void *);
|
||||||
|
|
||||||
lxc_config_define(autodev);
|
lxc_config_define(autodev);
|
||||||
lxc_config_define(apparmor_allow_incomplete);
|
lxc_config_define(apparmor_allow_incomplete);
|
||||||
|
@ -26,16 +26,18 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
#include "compiler.h"
|
||||||
|
|
||||||
typedef int (*lxc_dir_cb)(const char *name, const char *directory,
|
typedef int (*lxc_dir_cb)(const char *name, const char *directory,
|
||||||
const char *file, void *data);
|
const char *file, void *data);
|
||||||
|
|
||||||
typedef int (*lxc_file_cb)(char *buffer, void *data);
|
typedef int (*lxc_file_cb)(char *buffer, void *data);
|
||||||
|
|
||||||
extern int lxc_file_for_each_line(const char *file, lxc_file_cb callback,
|
__hot extern int lxc_file_for_each_line(const char *file, lxc_file_cb callback,
|
||||||
void* data);
|
void *data);
|
||||||
|
|
||||||
extern int lxc_file_for_each_line_mmap(const char *file, lxc_file_cb callback,
|
__hot extern int lxc_file_for_each_line_mmap(const char *file,
|
||||||
void *data);
|
lxc_file_cb callback, void *data);
|
||||||
|
|
||||||
/* mmap() wrapper. lxc_strmmap() will take care to \0-terminate files so that
|
/* mmap() wrapper. lxc_strmmap() will take care to \0-terminate files so that
|
||||||
* normal string-handling functions can be used on the buffer. */
|
* normal string-handling functions can be used on the buffer. */
|
||||||
|
Loading…
Reference in New Issue
Block a user