自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

RToax

Just for Fun

  • 博客(1770)
  • 资源 (174)
  • 论坛 (2)
  • 问答 (2)
  • 收藏
  • 关注

转载 Linux网络协议:当eBPF遇上Linux内核网络 | Linux内核之旅

《直播预告 | 当eBPF遇见Linux内核网络》 哔哩哔哩:https://www.bilibili.com/video/BV1ch411U75f?from=search&seid=16377189218093260407目录分享大纲目录Linux内核网络数据包收发流程Linux内核网络数据包接收流程Linux内核网络数据包发送流程eBPF优化Linux内核网络性能NAPIGRO,RSS,RPS,XPS,RFSDPDKXDPXDP与DPDK对比X

2021-05-15 20:59:30 29

原创 2021年五月中旬推荐文章

目录《一文读懂 Linux 内存分配全过程》《Linux Page Cache》《Linux Kernel 2.4 Internals》《linux 定时机制 Tickless》《Linux定时器:无节拍机制tickless(CONFIG_NO_HZ)》《linux-tutorials:https://tecadmin.net/tutorial/linux-tutorials/》《redis zset内部实现》《Redis zset(ziplist,skiplist)内部实现

2021-05-15 20:08:20 22

转载 Linux内存管理:知识点总结(ARM64)

https://mp.weixin.qq.com/s/7zFrBuJUK9JMQP4TmymGjA目录Linux内存管理之CPU访问内存的过程虚拟地址转换为物理地址的本质Linux内存初始化创建启动页表Linux是如何组织物理内存的?Linux分区页框分配器Linux页框分配器之伙伴算法Buddy 分配算法Buddy 分配函数Linux分区页框分配器之水位水位初始化Linux页框分配器之内存碎片化整理什么是内存碎片化碎片化整理算法碎片化整理的三

2021-05-15 20:04:26 15

转载 高性能编程:三级缓存(LLC)访问优化

https://mp.weixin.qq.com/s/x1TE_vxsLQptx31GXc8zsghttps://frankdenneman.nl/2019/10/14/amd-epyc-naples-vs-rome-and-vsphere-cpu-scheduler-updates/目录奇怪的现象复杂的内存层次模型结论与优化建议AMD 服务器,多线程应用绑核,选取不同的 CPU 核,性能差距可达50%。最近有幸因项目拿到一台AMD EPYC 系列测试服务器,发现了一些奇怪.

2021-05-15 15:36:19 10

转载 SIMD 编程的优势与SIMD指令:SSE/AVX 与编程demo

资源:https://download.csdn.net/download/Rong_Toa/18745608《Benefits of SIMD Programming | SIMD的优势》目录SIMD指令编程demo正常代码一次循环计算4次使用SSE指令使用AVX指令性能对比更多参考SIMD指令编程demo本文更新于 2018.10.24本demo主要使用矩阵相乘, 演示了Intel SSE和AVX内部指令(intrinsics)的显式使用, 并对比了使用g

2021-05-15 15:20:54 6

转载 Benefits of SIMD Programming | SIMD的优势

资源:https://download.csdn.net/download/Rong_Toa/18745608目录简介背景数据布局在 Ticker Tape 中实施 SIMD 优化点积示例未来展望更多文章/资源简介Ticker Tape 是一种技术演示,旨在鼓励开发人员在粒子系统中执行更为复杂的操作。参与该演示的开发人员会运用大量技术,来提高包括多线程和针对英特尔® SIMD 流指令扩展(SSE)的优化等在内的性能。请访问:/zh-cn/articles/ticker

2021-05-15 15:17:26 11

转载 Redis主从复制原理

目录1 依赖机制1.1 更新 slave1.2 部分重同步1.3 全量重同步2 Redis 复制的特点3 单机“危机”3.1 主从复制作用3.2 总结4实现复制的操作4.1 命令:slaveof4.2 配置5 全量复制5.1 全量复制开销5.2 全量同步细节6 增量复制在Redis复制的基础上(不包括Redis Cluster、Redis Sentinel),使用和配置主从复制非常简单,能使得【从Redis服务器】(后文称 slave)能精确.

2021-05-15 14:49:30 7 1

转载 Redis zset(ziplist,skiplist)内部实现

目录Redis对象对象编码zset介绍skiplist介绍skiplist与平衡树、哈希表的比较参考:Redis对象Redis对象由redisObject结构体表示。typedef struct redisObject { unsigned type:4; // 对象的类型,包括 /* Object types */ unsigned encoding:4; // 底部为了节省空间,一种type的数据,可以采用不同的存

2021-05-15 14:36:37 9 1

转载 Linux定时器:无节拍机制tickless(CONFIG_NO_HZ)

Linux定时器:无节拍机制tickless(CONFIG_NO_HZ)BAT-Battle 2013-09-01Tickless 机制是Linux 内核中引入的新定时机制以前,Linux内核会根据平台,以预定频率(100 Hz,250 Hz或1000 Hz)周期性地中断系统上的每个CPU。内核向CPU查询其正在执行的进程,并将结果用于进程记帐和负载平衡。内核称为计时器计时,无论CPU的电源状态如何,内核都会执行此中断。因此,即使一个空闲的CPU每秒也响应多达1000个这些请求。在为空闲C

2021-05-15 14:19:57 11

转载 Linux Kernel 2.4 Internals

https://tldp.org/LDP/lki/lki.html#toc3Tigran Aivaziantigran@veritas.com7 August 2002 (29 Av 6001)目录Tigran Aivaziantigran@veritas.com1.Booting2.Process and Interrupt Management3.Virtual Filesystem (VFS)4.Linux Page Cache5.IPC mechan...

2021-05-15 14:01:26 16

原创 Linux内核 eBPF基础:ftrace源码分析:过滤函数和开启追踪

sucd /sys/kernel/debug/tracing/echo 1 > tracing_onecho "schedule" > set_ftrace_filterecho function_graph > current_tracercat trace

2021-05-14 19:07:54 26 7

原创 Ftrace Kernel Hooks: More than just tracing

Ftrace Kernel Hooks: More than just tracing​

2021-05-13 12:01:39 13 1

原创 Linux内核 eBPF基础:ftrace基础-ftrace_init初始化

Linux内核 eBPF基础ftrace基础荣涛2021年5月12日

2021-05-13 11:50:46 13

原创 GCC(-pg) profile mcount | ftrace基础原理

GCC(-pg) profile mcount荣涛2021年5月12日gcc的profile特性,gcc 的 -pg 选项将在每个函数的入口处加入对mcount的代码调用;如果ftrace编写了自己的mcount stub函数,则可借此实现trace功能;Linux内核 eBPF基础:ftrace基础//$ cat foo.c void foo(void) { int a = 1;}编译:gcc foo.c -pg -S -o foo-pg.sgcc foo.c -pg -

2021-05-12 18:27:10 13

原创 Linux使用cpuset设置CPU独占

直接看脚本:#!/bin/bash # 独占 CPU 组,不允许其他进程使用# 具体查看 man cpuset(7)sudo mkdir /dev/cpuset # cd /dev/cpusetmkdir prodset # 创建一个名为 prodset 的CPUsetcd prodset echo 7-10 > cpus # 分配 7-10 CPUsecho 1 > cpu_exclusize # 让 prodset 独占echo 1159 > tasks

2021-05-12 13:38:59 10

转载 cpuset(7) — Linux manual page

https://www.man7.org/linux/man-pages/man7/cpuset.7.html先看示例#!/bin/bash# 独占 CPU 组,不允许其他进程使用# 具体查看 man cpuset(7)sudo mkdir /dev/cpuset # cd /dev/cpusetmkdir prodset # 创建一个名为 prodset 的CPUsetcd prodset echo 7-10 > cpus # 分配 7-10 CPUsecho

2021-05-12 13:36:55 12

原创 Linux内核 eBPF基础:kprobe原理源码分析:源码分析

Linux内核 eBPF基础kprobe原理源码分析:源码分析荣涛2021年5月11日

2021-05-12 11:43:24 15 1

转载 linux-5.10.13/Documentation/trace/kprobes.rst

=======================Kernel Probes (Kprobes)=======================:Author: Jim Keniston <jkenisto@us.ibm.com>:Author: Prasanna S Panchamukhi <prasanna.panchamukhi@gmail.com>:Author: Masami Hiramatsu <mhiramat@redhat.com>.. CONT

2021-05-11 17:47:48 8

原创 Linux内核 eBPF基础:kprobe原理源码分析:基本介绍与使用示例

Linux内核 eBPF基础kprobe原理源码分析:基本介绍与使用荣涛2021年5月11日

2021-05-11 17:14:39 19

原创 对POSIX和SystemV消息队列优化:用户态消息队列

在文章《Linux C语言在用户态实现一个低时延通知(eventfd)+轮询(无锁队列ring)机制的消息队列》中介绍了用户态低时延消息队列的实现,下面我们简单介绍优化步骤。源码链接:https://github.com/Rtoax/test/tree/master/ipc/fastq消息队列对软件系统来说至关重要,其是解决线程间异步通信的基石,通常操作系统为我们提供两种消息队列:POSIX和SystemV,这两种消息队列均通过系统调用申请系统资源、进行入队和出队操作,相较于内核态消息队列,实...

2021-05-11 09:35:33 14

原创 Linux内核 eBPF基础:Tracepoint原理源码分析

Linux内核 eBPF基础Tracepoint原理源码分析荣涛2021年5月10日1. 基本原理需要注意的几点:本文将从sched_switch相关的tracepoint展开;关于static_key,请详见本博客jump-label相关文章Linux Jump Label(x86)、Linux Jump Label/static-key机制详解;可参见内核注释版代码:https://github.com/Rtoax/linux-5.10.131.1. 源码头文件结构首先看t

2021-05-10 17:21:37 32 2

转载 Linux进程管理:内核中的优先级继承互斥(rtmutex.h):防止优先级反转

目录Priority inheritance in the kernel译文Priority inheritance in the kernelhttps://lwn.net/Articles/178253/[Posted April 3, 2006 by corbet]Imagine a system with two processes running, one at high priority and the other at a much lower priority. Th

2021-05-10 14:11:04 20

原创 Linux 如何隔离CPU核心 isolcpus=0-2

Linux 如何隔离CPU核心 isolcpus=0-2rtoax2021年5月8日1. tuned调优方式隔核1.1. 首先查看当前调优方式# tuned-adm active Current active profile: realtime-virtual-host1.2. tuned查看可用的调优方式# tuned-adm profile Available profiles:- balanced - General non-speci

2021-05-08 16:47:26 31

转载 IO Visor Project Use Cases

目录TracingNetworkingContainersSecurityMonitoringHardware OffloadIO Visor has been in use across a variety of use cases. The following are a few examples:TracingBCC or BPF Compiler Collection is a toolkit leveraging eBPF for creating kernel

2021-05-07 16:12:38 14 1

转载 XDP: eXpress Data Path

目录Introduction to XDPXDP Packet Processing OverviewResourcesUse CasesXDP and DPDKIntroduction to XDPXDP or eXpress Data Path provides a high performance, programmable network data path inthe Linux kernel as part of the IO Visor Project. XDP .

2021-05-07 16:05:13 14 2

转载 DTrace Tools

目录Operating SystemsLinuxGuideUsing DTrace scriptsWriting DTrace scriptsDTraceToolkitDTrace One LinersScriptsTroubleshooting ExamplesDTraceTazToolDExplorerLinksThe following are open source tools and examples that use DTrace, an im

2021-05-07 13:54:28 10 1

转载 DTraceToolkit

The DTraceToolkit is a collection of useful documented DTrace scripts, some of which originated from my original page onDTrace Tools. There are over 200 scripts in the DTraceToolkit, and each has a man page and an file of example output.Note: This ...

2021-05-07 13:38:43 9 2

原创 Linux brk(),mmap()系统调用源码分析3:brk()的内存申请流程

Linux brk(),mmap()系统调用源码分析brk()的内存申请流程荣涛2021年4月30日内核版本:linux-5.10.13注释版代码:https://github.com/Rtoax/linux-5.10.131. 基础部分在之前文章中已经介绍了基础部分 《Linux内存管理 brk(),mmap()系统调用源码分析1:基础部分》,本文介绍brk的释放部分。2. brk内存释放在之前文章中已经介绍了brk内存释放过程《Linux内存管理 brk(),mmap()系统

2021-05-07 08:11:16 8

原创 linux-5.12-rc1-dontuse

https://elixir.bootlin.com/linux/latest/source

2021-05-02 14:22:49 31 3

原创 Linux内存管理 brk(),mmap()系统调用源码分析2:brk()的内存释放流程

Linux brk(),mmap()系统调用源码分析brk()的内存释放流程荣涛2021年4月30日内核版本:linux-5.10.13注释版代码:https://github.com/Rtoax/linux-5.10.131. 基础部分在上篇文章中已经介绍了基础部分 《Linux内存管理 brk(),mmap()系统调用源码分析1:基础部分》,本文介绍brk的释放部分。下面开始介绍brk释放流程。brk会提高或者降低堆顶位置,从而达到分配和释放用户地址空间的效果。首先获取br

2021-04-30 16:54:52 30 5

原创 Linux内存管理 brk(),mmap()系统调用源码分析1:基础部分

Linux内存管理 brk(),mmap(),munmap()系统调用源码分析基础部分荣涛2021年4月30日内核版本:linux-5.10.13注释版代码:https://github.com/Rtoax/linux-5.10.131. 用户态libc封装1.1. brk#include <unistd.h>int brk(void *addr);void *sbrk(intptr_t increment);1.2. mmap和munmap#include

2021-04-30 16:48:02 28 1

原创 Linux系统调用:pipe()系统调用源码分析

Linux pipe()系统调用源码分析rtoax2021年4月29日内核版本:linux-5.10.13注释版代码:https://github.com/Rtoax/linux-5.10.13Pipe示例代码:https://github.com/Rtoax/test/tree/master/c/glibc/unistd/pipe-demo2.c1. 函数原型1.1. 用户态封装#include <unistd.h>int pipe(int pipefd[2]);

2021-04-29 15:49:14 30

原创 Linux 内核中的宏定义

Linux 内核中的宏定义rtoax日期内核版本:linux-5.10.13注释版代码:https://github.com/Rtoax/linux-5.10.13__attribute__宏__builtin_宏常规宏1. ASSEMBLY关于__attribute__的宏定义在include\linux\compiler_types.h文件中,首先是宏__ASSEMBLY__,这是在编译阶段使用-D加上去的,也就是-D__ASSEMBLY__,AFLAGS这个变量也定义了这个

2021-04-27 08:57:36 32

原创 Linux系统调用:select()系统调用源码分析

Linux select()系统调用源码分析rtoax2021年4月26日先给出几个用户态select系统调用的socket示例程序:https://github.com/Rtoax/test/tree/master/ipc/socket/select内核版本:linux-5.10.13代码示例:select+eventfd注释版代码:https://github.com/Rtoax/linux-5.10.131. select()系统调用不做过多的解释,本文不对系统调用从用户态

2021-04-26 18:12:24 27

转载 SECure COMPuting with filters | seccomp

https://www.kernel.org/doc/Documentation/prctl/seccomp_filter.txt SECure COMPuting with filters =============================Introduction------------A large number of system calls are exposed to every userland processwith many of them going unu

2021-04-26 09:03:55 11

原创 2021年四月中旬推荐文章

《图解 Linux 文件系统》 《Linux 内存管理之CMA》本站《Linux内存管理:CMA(连续内存分配)》 《Memory Leak (and Growth) Flame Graphs》 《Linux perf Examples.html》 《Off-CPU Flame Graphs》 《Brendan D. Gregg的个人网站》 《VFIO(Virtual Function IO)研究》 《The Internet of Everything (IoE)》 《Xen:Net...

2021-04-24 19:00:53 43

转载 计算机网络:VLAN和VXLAN

目录Overlay网络VLANVXLAN两种Overlay技术:NVGRE和VXLAN什么是VXLAN为什么需要VXLAN虚拟机动态迁移,要求提供一个无障碍接入的网络VXLAN与VLAN之间有何不同VXLAN隧道是如何建立的什么是VXLAN中的VTEP和VNI哪些VTEP之间需要建立VXLAN隧道VXLAN隧道是怎么建立的VXLAN网关有哪些种类VXLAN二层网关与三层网关VXLAN集中式网关与分布式网关VXLAN网络中报文是如何转发的集中

2021-04-24 19:00:14 67

转载 计算机网络:overlay(VLAN,VxLAN)、underlay网络、大二层的介绍

相关术语P network:运营商核心网络,也就是提供VPN服务供应商自己的网络 "P = provider" C network:客户网络 "C = customer" P device: 运营商网络核心设备 PE device:运营商网络边缘设备,用于连接P网络与C网络 "PE = Provider Edge" CE device:客户网络边缘设备,用于连接P网络与C网络 "CE = Customer Edge"概述在SDN如火如荼的今天,每一个网络工程师见到最多的术...

2021-04-24 18:35:27 131

转载 Virtio: An I/O virtualization framework for Linux | 原文

《Virtio: An I/O virtualization framework for Linux》《KVM Virtio: An I/O virtualization framework for Linux(Linux虚拟IO框架)》《Virtio: An I/O virtualization framework for Linux | 原文》目录Full virtualization vs. paravirtualizationAn abstraction for Linux gu

2021-04-24 17:54:45 25

转载 大页内存的使用:HugePages(大内存页)的原理与使用

《DPDK | 如何在用户空间使用大页内存hugepage》《DPDK内存篇(三): 标准大页、NUMA、DMA、IOMMU、IOVA、内存池》《大页内存的使用:大页内存分配与释放》《大页内存的使用:HugePages(大内存页)的原理与使用》《清理/释放大页内存》《CentOS7在/etc/grub2.conf引导中配置1G大页内存》《DPDK如何释放大页内存(巨页内存hugepage)》《HugeTLB Pages大页内存》《Linux之hugepage大页内存理论》

2021-04-24 17:26:13 33

实验指导手册 - 奔跑吧Linux内核入门篇第二版v2.0.2.pdf

实验指导手册 - 奔跑吧Linux内核入门篇第二版v2.0.2.pdf

2021-03-21

RDBTools GUI for Redis Optimization.pdf

RDBTools GUI for Redis Optimization.pdf

2021-05-15

Mastering the DMA and IOMMU APIs.pdf

Mastering the DMA and IOMMU APIs.pdf

2021-05-15

Benefits of SIMD Programming.pdf

Benefits of SIMD Programming.pdf

2021-05-15

STC89C52RC基础实验例程.rar

STC89C52RC基础实验例程,STC89C52RC基础实验例程,STC89C52RC基础实验例程。STC89C52RC基础实验例程

2020-02-07

ftrace-kernel-hooks-2014-More than just tracing.pdf | 注释

ftrace-kernel-hooks-2014-More than just tracing.pdf | 注释

2021-05-13

TR069 ACS模拟器测试脚本.rar

TR069 ACS模拟器测试脚本

2020-03-24

ftrace-kernel-hooks-2014-More than just tracing.pdf

ftrace-kernel-hooks-2014-More than just tracing.pdf

2021-05-12

空天地一体化通信系统白皮书.pdf

空天地一体化通信系统白皮书.pdf

2021-03-21

VTI介质逆时偏移与角道集提取源代码

RTM、adcigs、有限差分正演、逆时偏移、RTM、adcigs、有限差分正演、逆时偏移、RTM、adcigs、有限差分正演、逆时偏移、

2018-05-03

《A Practical Introduction to Data Structures and Algorithm Analysis》

《A Practical Introduction to Data Structures and Algorithm Analysis》

2018-06-03

f-stack-server-client.rar

f-stack的客户端服务端实现方法代码

2020-07-17

《深入浅出DPDK》全书读书笔记.pdf

《深入浅出DPDK》全书读书笔记.pdf

2020-10-29

UE接入流程.vsdx

UE接入流程.vsdx

2021-05-08

DTraceToolkit-0.99+scripts.zip

DTraceToolkit-0.99.tar

2021-05-07

中国电信DPDK技术白皮书.pdf

中国电信DPDK技术白皮书.pdf,中国电信DPDK技术白皮书.pdf,中国电信DPDK技术白皮书.pdf,中国电信DPDK技术白皮书.pdf

2020-10-25

MPI, OpenMP, CUDA, OpenCL, OpenACC,

Brief Introduction to OpenMP-PPT,CUDA-C编程-作图,CUDA-C编程,MPI The Complete Reference,MPICH User’s Guide,mpich-3.0.4-installguide,MPI并行程序设计-完整版-高性能计算之并行编程技术,OpenACC应用编程接口-v2.0-中文版-小小河20130826,Opencl2.0-高性能计算-中文版,Opencl规范中文版,OpenHMPP,OpenMP,OpenMP简易教程,OpenMP编译原理及实现技术,Parallel Programming with MPI on Clusters,《Intel_OpenMP白皮书》,《OpenMP并行计算程序设计基础(C++)》,《Parallel Programming in OpenMP(Fortran)》,《Using OpenMP - Portable Shared Memory Parallel Programming(Fortran,C)》,《OpenMP入门》,《OpenMP编程》PPT,并行计算导论-张林波

2018-06-03

《数据结构》严蔚敏

《数据结构》严蔚敏,《数据结构》严蔚敏,《数据结构》严蔚敏,

2018-06-03

[done]What’s New in Virtio 1.1.pdf

virtio1.1

2021-03-28

最全的Java Swing示例程序

最全的Java Swing示例程序:包括Swing全部的示例,AWT的示例

2018-05-03

HTML+CSS从入门到精通(中文)

HTML+CSS从入门到精通(中文)

2018-10-20

《CUDA C编程》CodeSamples源代码

《CUDA C编程》CodeSamples源代码,《CUDA C编程》CodeSamples源代码

2018-06-03

二维TTI介质拟声波正演模拟和逆时偏移

二维TTI介质拟声波正演模拟和逆时偏移,二维TTI介质拟声波正演模拟和逆时偏移

2018-06-02

LINUX设备驱动程序第三版配套源码

LINUX设备驱动程序第三版配套源码

2019-02-27

msi-x_ecn.pdf

PCIe msi-x

2021-04-24

MNIST数据集对应的txt文件

MNIST数据集对应的txt文件MNIST数据集对应的txt文件MNIST数据集对应的txt文件MNIST数据集对应的txt文件

2018-05-14

20190710.zip10款炫酷的HTML5动画特效

10款炫酷的HTML5动画特效,

2019-07-21

Dell EMC PowerEdge R740技术规格.pdf

Dell EMC PowerEdge R740技术规格

2021-01-03

LKM:Linux Kernel Map(图解Linux内核)PDF,SVG,PNG格式

LKM:Linux Kernel Map(图解Linux内核)PDF,SVG,PNG格式,

2020-11-01

gnutls安装所有依赖包.rar

gnutls安装所有依赖包.rar

2020-08-13

bcc-devel-0.15.0-2.el7.x86_64.rpm

bcc-devel-0.15.0-2.el7.x86_64.rpm

2021-04-14

llvm-7.0.1.src.tar.xz

llvm-7.0.1.src.tar.xz

2021-04-14

cfe-7.0.1.src.tar.xz

cfe-7.0.1.src.tar.xz

2021-04-14

bpftrace-0.11.0-1.el7.x86_64.rpm

bpftrace-0.11.0-1.el7.x86_64.rpm

2021-04-14

bpftrace-0.10.0-2.el7.x86_64.rpm

bpftrace-0.10.0-2.el7.x86_64.rpm

2021-04-14

bpftrace-debuginfo-0.10.0-2.el7.x86_64.rpm

bpftrace-debuginfo-0.10.0-2.el7.x86_64.rpm

2021-04-14

bcc-git.tar.gz

bcc

2021-04-14

OpenCV自带视频测试文件vtest.avi

opencv avi 视频,opencv avi 视频,opencv avi 视频,opencv avi 视频,opencv avi 视频,opencv avi 视频

2018-05-04

[done++]Vhost dataplane in Qemu.pdf

[done++]Vhost dataplane in Qemu.pdf

2021-04-04

[done]Introduction to PCI Express.pdf

[done]Introduction to PCI Express.pdf

2021-04-03

C语言如何从源函数中获取指向它的函数指针的地址

发表于 2020-05-21 最后回复 2020-06-15

Koma_Wong的留言板

发表于 2020-01-02 最后回复 2020-03-08

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除