git下载指定版本的代码并制作patch以及如何打patch

首先使用git clone把代码更新到本地。

使用git log –grep=word 搜索指定的版本。
gcc@gcc-x64:/mnt/AX3600$ git log –grep AX3600
commit 9d8a34c9abb6c13f9bebc28d9c4c10fe512491d4 (HEAD -> newBranch)
Author: lean <coolsnowwolf@gmail.com>
Date: Mon Jun 14 20:08:28 2021 +0800
ipq807x: add Xiaomi AX3600 and ath11k support

生成指定版本的patch:
git format-patch -1 9d8a34c9abb6c13f9bebc28d9c4c10fe512491d4

应用patch:
先检查patch文件:git apply –stat newpatch.patch
检查能否应用成功:git apply –check newpatch.patch
打补丁:git am –signoff < newpatch.patch
(使用-s或–signoff选项,可以commit信息中加入Signed-off-by信息)
如果需要撤回刚才打上的那个Patch,使用命令:git apply -R ***.patch

参考:
https://blog.csdn.net/M_Eve/article/details/84327219
https://www.zhangshengrong.com/p/QrXebElo1d/
https://blog.csdn.net/robertsong2004/article/details/46893169

20220805 updated

使用git apply –reject file.patch 这个命令会自动合入不冲突的代码,然后保留冲突的部分,同时在冲突的文件夹下面会生成后缀为.rej的文件,用于保存没有合并进去的部分,可以参考这个进行冲突解决。
解决完冲突后,删除后缀为.rej文件,并执行git add . 添加改动到暂存区,然后git commit -m “注释语句” 增加commit。
最后git log 查看刚才的commit,然后生成指定版本的patch:
git format-patch -1 9d8a34c9abb6c13f9bebc28d9c4c10fe512491d4

参考网址:
https://www.its203.com/article/salmon_zhang/97015801

I5-8250U在hyper-v下面使用unixbench测试性能

BYTE UNIX Benchmarks (Version 5.1.3)

System: gcc-x64: GNU/Linux
OS: GNU/Linux — 5.4.0-122-generic — #138-Ubuntu SMP Wed Jun 22 15:00:31 UTC 2022
Machine: x86_64 (x86_64)
Language: en_US.utf8 (charmap=”UTF-8″, collate=”UTF-8″)
CPU 0: Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz (3600.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
CPU 1: Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz (3600.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
CPU 2: Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz (3600.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
CPU 3: Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz (3600.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
CPU 4: Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz (3600.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
CPU 5: Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz (3600.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
CPU 6: Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz (3600.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
CPU 7: Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz (3600.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
06:46:06 up 7:49, 2 users, load average: 0.00, 0.00, 0.00; runlevel 5

————————————————————————
Benchmark Run: Sat Jul 23 2022 06:46:06 – 07:14:12
8 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables 42608524.8 lps (10.0 s, 7 samples)
Double-Precision Whetstone 6489.4 MWIPS (9.9 s, 7 samples)
Execl Throughput 4129.9 lps (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 635787.5 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 169590.5 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 1985937.5 KBps (30.0 s, 2 samples)
Pipe Throughput 865156.9 lps (10.0 s, 7 samples)
Pipe-based Context Switching 20744.7 lps (10.0 s, 7 samples)
Process Creation 7347.1 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 10401.9 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 2980.9 lpm (60.0 s, 2 samples)
System Call Overhead 537140.1 lps (10.0 s, 7 samples)

System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 42608524.8 3651.1
Double-Precision Whetstone 55.0 6489.4 1179.9
Execl Throughput 43.0 4129.9 960.5
File Copy 1024 bufsize 2000 maxblocks 3960.0 635787.5 1605.5
File Copy 256 bufsize 500 maxblocks 1655.0 169590.5 1024.7
File Copy 4096 bufsize 8000 maxblocks 5800.0 1985937.5 3424.0
Pipe Throughput 12440.0 865156.9 695.5
Pipe-based Context Switching 4000.0 20744.7 51.9
Process Creation 126.0 7347.1 583.1
Shell Scripts (1 concurrent) 42.4 10401.9 2453.3
Shell Scripts (8 concurrent) 6.0 2980.9 4968.2
System Call Overhead 15000.0 537140.1 358.1
========
System Benchmarks Index Score 1065.4

————————————————————————
Benchmark Run: Sat Jul 23 2022 07:14:12 – 07:42:44
8 CPUs in system; running 8 parallel copies of tests

Dhrystone 2 using register variables 153654544.7 lps (10.0 s, 7 samples)
Double-Precision Whetstone 34421.6 MWIPS (11.5 s, 7 samples)
Execl Throughput 13329.0 lps (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 712096.5 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 180312.6 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 2250174.5 KBps (30.0 s, 2 samples)
Pipe Throughput 3111422.7 lps (10.0 s, 7 samples)
Pipe-based Context Switching 601761.1 lps (10.0 s, 7 samples)
Process Creation 22973.2 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 23595.3 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 3313.3 lpm (60.0 s, 2 samples)
System Call Overhead 1990193.6 lps (10.0 s, 7 samples)

System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 153654544.7 13166.6
Double-Precision Whetstone 55.0 34421.6 6258.5
Execl Throughput 43.0 13329.0 3099.8
File Copy 1024 bufsize 2000 maxblocks 3960.0 712096.5 1798.2
File Copy 256 bufsize 500 maxblocks 1655.0 180312.6 1089.5
File Copy 4096 bufsize 8000 maxblocks 5800.0 2250174.5 3879.6
Pipe Throughput 12440.0 3111422.7 2501.1
Pipe-based Context Switching 4000.0 601761.1 1504.4
Process Creation 126.0 22973.2 1823.3
Shell Scripts (1 concurrent) 42.4 23595.3 5564.9
Shell Scripts (8 concurrent) 6.0 3313.3 5522.1
System Call Overhead 15000.0 1990193.6 1326.8
========
System Benchmarks Index Score 3005.4
测试的时候,由于笔记本散热原因,CPU基本上长时间在2.1Ghz运行。
下面贴一个J1900CPU,宿主机运行openwrt,在docker里运行ubuntu使用unixbench测试的得分。
BYTE UNIX Benchmarks (Version 5.1.3)

System: OpenWrt: GNU/Linux
OS: GNU/Linux — 5.15.35 — #0 SMP Mon Apr 25 11:18:22 2022
Machine: x86_64 (x86_64)
Language: en_US.utf8 (charmap=”ANSI_X3.4-1968″, collate=”ANSI_X3.4-1968″)
CPU 0: Intel(R) Celeron(R) CPU J1900 @ 1.99GHz (4000.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
CPU 1: Intel(R) Celeron(R) CPU J1900 @ 1.99GHz (4000.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
CPU 2: Intel(R) Celeron(R) CPU J1900 @ 1.99GHz (4000.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
CPU 3: Intel(R) Celeron(R) CPU J1900 @ 1.99GHz (4000.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
15:47:42 up 7 days, 12:59, 0 users, load average: 0.74, 0.33, 0.14; runlevel

————————————————————————
Benchmark Run: Fri Jul 22 2022 15:47:42 – 16:15:46
4 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables 11870208.3 lps (10.0 s, 7 samples)
Double-Precision Whetstone 2427.7 MWIPS (10.2 s, 7 samples)
Execl Throughput 1596.9 lps (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 242133.1 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 66194.7 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 637394.7 KBps (30.0 s, 2 samples)
Pipe Throughput 466222.1 lps (10.0 s, 7 samples)
Pipe-based Context Switching 41094.0 lps (10.0 s, 7 samples)
Process Creation 2470.1 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 3385.2 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 1181.3 lpm (60.0 s, 2 samples)
System Call Overhead 376589.3 lps (10.0 s, 7 samples)

System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 11870208.3 1017.2
Double-Precision Whetstone 55.0 2427.7 441.4
Execl Throughput 43.0 1596.9 371.4
File Copy 1024 bufsize 2000 maxblocks 3960.0 242133.1 611.4
File Copy 256 bufsize 500 maxblocks 1655.0 66194.7 400.0
File Copy 4096 bufsize 8000 maxblocks 5800.0 637394.7 1099.0
Pipe Throughput 12440.0 466222.1 374.8
Pipe-based Context Switching 4000.0 41094.0 102.7
Process Creation 126.0 2470.1 196.0
Shell Scripts (1 concurrent) 42.4 3385.2 798.4
Shell Scripts (8 concurrent) 6.0 1181.3 1968.8
System Call Overhead 15000.0 376589.3 251.1
========
System Benchmarks Index Score 475.5

————————————————————————
Benchmark Run: Fri Jul 22 2022 16:15:46 – 16:43:51
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables 46351886.4 lps (10.0 s, 7 samples)
Double-Precision Whetstone 9709.4 MWIPS (10.2 s, 7 samples)
Execl Throughput 4547.2 lps (29.8 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 422497.9 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 123753.2 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 1023713.4 KBps (30.0 s, 2 samples)
Pipe Throughput 1829630.5 lps (10.0 s, 7 samples)
Pipe-based Context Switching 269682.6 lps (10.0 s, 7 samples)
Process Creation 9473.4 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 10449.0 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 1413.0 lpm (60.1 s, 2 samples)
System Call Overhead 1377797.4 lps (10.0 s, 7 samples)

System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 46351886.4 3971.9
Double-Precision Whetstone 55.0 9709.4 1765.3
Execl Throughput 43.0 4547.2 1057.5
File Copy 1024 bufsize 2000 maxblocks 3960.0 422497.9 1066.9
File Copy 256 bufsize 500 maxblocks 1655.0 123753.2 747.8
File Copy 4096 bufsize 8000 maxblocks 5800.0 1023713.4 1765.0
Pipe Throughput 12440.0 1829630.5 1470.8
Pipe-based Context Switching 4000.0 269682.6 674.2
Process Creation 126.0 9473.4 751.9
Shell Scripts (1 concurrent) 42.4 10449.0 2464.4
Shell Scripts (8 concurrent) 6.0 1413.0 2355.0
System Call Overhead 15000.0 1377797.4 918.5
========
System Benchmarks Index Score 1364.1

可以看出,J1900的CPU还是很强悍的。I5-8250U理论上相当于5倍的J1900性能,但是由于在hyper-v虚拟机下面测试,性能折损较大。
关于不同CPU性能测试,可以参考这篇文章。
http://www.wifizoo.net/archives/2017

openwrt运行青龙面板不联网的解决办法

openwrt下创建基于bridge模式的容器,默认是无法访问公网的,只能lan访问。
解决办法就是创建host网络而非bridge。
host模式下容器是直接联网的,无需端口映射,也无需debug。
直接在ssh下运行
docker run -dit \
-v $pwd/ql/config:/ql/config \
-v $pwd/ql/log:/ql/log \
-v $pwd/ql/db:/ql/db \
-v $pwd/ql/scripts:/ql/scripts \
-v $pwd/ql/jbot:/ql/jbot \
-e ENABLE_HANGUP=true \
-e ENABLE_WEB_PANEL=true \
–name qinglong \
–hostname qinglong \
–restart always \
–net host \
whyour/qinglong:latest

使用bridge模式:
直接在ssh下运行
docker run -dit \
-v $pwd/ql/config:/ql/config \
-v $pwd/ql/log:/ql/log \
-v $pwd/ql/db:/ql/db \
-v $pwd/ql/scripts:/ql/scripts \
-v $pwd/ql/jbot:/ql/jbot \
-p 5701:5700 \
-e ENABLE_HANGUP=true \
-e ENABLE_WEB_PANEL=true \
–name qinglong1 \
–hostname qinglong1 \
–restart always \
whyour/qinglong:latest

openwrt下面使用Docker容器默认bridge模式无法访问外部网络的解决办法
http://www.wifizoo.net/archives/2291

刚给猫打了一针,叫声那个凄惨啊。

狂犬和猫三联买回来快一周了,拖延症发作加上畏难情绪迟迟没有下手。
今天晚上终于果断开打,先带上伊丽莎白圈,然后用胶布捆住猫腿,老婆带上厚手套摁住猫。

打针视频看了几遍,感觉是时候开始实践了。

捏起脖子后面的皮,找准位置,第一针没经验,扎进去一点点。猫开始挣扎惨叫,中止。

第二针扎进去了,但是手没放在推注射器的位置,猫剧烈挣扎大声惨叫,果断拔出。

老婆开始表现出不耐烦:叫你去宠物医院打,你不去,非自己折腾,没那个材料就不要学人家嘛。看看都把猫折腾成啥样了。
其实不是不想去宠物医院,主要是信不过他们,假猫三联疫苗太多了,他们打疫苗的价格比我从网上买来自己打都便宜很多,我看够呛。

心里默念凡事都有第一次,果断顶住压力,进针,先是有阻力,随之突然轻松,有扎进空腔的感觉。到位了。

猫开始撕心裂肺的狂叫,果断推入,成功。

解开捆绑拆下脖圈,猫蜷缩在电脑椅上显得十分委屈,赶紧蒸了点肉来安抚一下。

这会又开始活蹦乱跳了。

最近研究了一下猫粮,发现这里面的坑太多了。分享一下研究所得

发现要学习的地方太多了,无脑听商家或者宠物店的只会坑了猫。就说猫粮吧。国产猫粮很多都是标称高蛋白的,其实高蛋白大多都是添加了羽毛粉或者大豆蛋白之类搞出来的。这也是很多评论里面猫会便血,会拉肚子,会拉屎巨臭,其实都是猫粮有问题可能性居多。
我上午专门去了本市兽药饲料批发的一条街打听,发现里面卖的最贵的猫粮15块钱一斤,牌子嘛肯定是没听过的,大多数商家卖的是8块钱,10块钱一斤的猫粮。我很好奇这么便宜的猫粮能给猫吃嘛?商家说没问题,宠物店都是来这里进货的,8块钱的卖17,10块钱的回去卖20。

我:“你这还有5块钱一斤的猫粮,这比面粉贵不了多少啊,厂家机器人工运输各种人吃马喂的成本,你也要赚钱,这玩意猫能吃吗?”
商家:小老弟你不懂啊,咱这都是正规厂家出的,你看生产许可证号啥都有,成分表也有,蛋白质含量28%,国标才25%呢。这玩意比国标都高呢、“
我:”嗯嗯嗯,你说的都对,“ 心说卧槽这老板水平可以啊,他还知道国标数据,然后我赶紧走人。

回去网上一番研究学习,发现:“低于10元一斤的猫粮基本不要指望有鱼啊,鸡啊之类的肉。里面的蛋白质都是靠蛋白粉堆出来的。如果是五六元左右一斤的,我可以告诉你,这猫粮就是面粉疙瘩,就算有蛋白质也都是羽毛粉鸡粪弄出来的。还有这猫粮淘宝上是90元20斤,还有更便宜的3.5一斤,你自己算算成本就知道这猫粮是个什么德行了。现在米面都要三四元一斤呢。更别提厂家还要赚钱,还有包装费,运输费,商家要赚的钱。”
还有拿膨润土和鸡屎为主要添加成分做猫粮的,丧心病狂啊。

再来科普下毒猫粮,其实不是里面有剧毒物质,而是谷物加植物蛋白、肉骨粉、羽毛粉之类的做出来的,而猫是肉食动物,这会损坏猫的肝肾,导致猫死亡。
说说猫肾衰竭的原理和肝衰竭的原理,肾衰竭不是因为喝水少,而是因为电解质失衡、钙磷比失衡和化学添加剂中毒,一味的吃没有氯化钠的商品粮和猫饭,一直给猫吃肉没有补钙,吃得多加了硫酸盐的猫粮,最终就会导致这个结果

肝衰竭是长期摄入蛋白质过低和化学添加剂中毒,产品标出来的是粗蛋白,实际能吸收的又有多少?

文章来源:https://read01.com/aLPKgJM.html
再来说说为啥羽毛粉不能喂猫、

羽毛粉是否适合添加到宠物食品中?

1.邓华彬等(2019)在《血球蛋白粉和水解羽毛粉在犬猫粮上的应用研究》中探讨了犬猫粮中添加血球蛋白粉与水解羽毛粉对犬猫采食量和体重变化的影响以及对犬猫粮各营养物质表观消化率和适口性的影响。本试验分为两部分,试验Ⅰ:犬对照组饲喂基础日粮1;试验1组,试验2组分别饲喂在基础日粮1中添加6%血球蛋白粉的试验1粮和添加6%水解羽毛粉的试验2粮。猫对照组饲喂基础日粮2;试验3组,试验4组分别饲喂在基础日粮2中添加6%血球蛋白粉的试验3粮和添加6%水解羽毛粉的试验4粮,预饲期7d,正式试验期28d;试验Ⅱ:健康贵宾犬,分3批次做适口性对比试验;健康英国短毛猫,分3批次做适口性对比试验。试验结果显示:犬猫粮中添加6%血球蛋白粉,其粗蛋白表观消化率,犬猫体重方面有所提高,但其适口性显著降低,显然血球蛋白粉要用作犬猫粮的动物蛋白质原料,应解决其适口性差的问题;添加6%水解羽毛粉时,其干物质,粗蛋白和有机质的表观消化率和适口性显著降低,犬猫体重显著下降,显然水解羽毛粉不适宜用作犬猫粮的动物蛋白质原料。
最后说一下各种评测号的推荐靠不靠谱,

虽然他们会去送检,但是要知道,送检是不会对蛋白质来源做出判断的,简单说就是鸡粪,羽毛的蛋白质和肉以及豆类的蛋白质,检测报告里都会作为蛋白质成分统一对待。所以从根上说这玩意只能说明猫粮的蛋白质含量是否如包装描述,至于吃了会不会引起肝肾问题检测机构是不负责的。根据蛋白质含量是否和包装标识一致来判断猫粮是否没问题,并不科学。

 

2020年,两岁的无毛猫多比在2月开始便血,5月被诊断出低蛋白血症,在一个多月之后死去。这是一只活跃又亲人的无毛猫,会像狗一样和人握手、把人丢出去的玩具捡回来。
多比死因是营养不良。医生告诉主人吴小天,低蛋白血症的原因在于食物中的蛋白含量不足,这让猫的健康状况持续恶化,最终血浆蛋白减少、全身水肿,因并发症而死去。
多比在便血2个月前开始食用怡亲幼猫粮,吴小天认为,或许问题就出在这款猫粮上。
2020年7月开始,她两次将多比食用的猫粮送往公立检测机构深圳市计量质量检测研究院,第一次结果显示粮粗蛋白含量虚标,产品标注30%,实测28.21%。第二次,她检测了猫粮里各项氨基酸的含量,结果显示,怡亲幼猫粮里的氨基酸平衡,与以肉为主的猫粮相差较大,这表明,怡亲幼猫粮的原料或许有问题。
中国农业大学丁丽敏博士在一篇科普文章里提及,动物食品的蛋白原料里掺假的成分包含羽毛粉。羽毛粉是鱼饲料和禽饲料中的添加物,也是一种高蛋白饲料。期刊《饲料工业》发表的论文《氨基酸分析方法评估蛋白质饲料品质》中说明,“羽毛粉因其特殊的结构而使得消化率较低”,对鸡、猪而言,尽管羽毛粉粗蛋白比例高,但其中很大一部分蛋白会因不能消化而被排出体外。而在氨基酸检测结果里,谷氨酸含量高,丝氨酸/苏氨酸的比例升高,也符合羽毛粉的特征。
为了证实这点,吴小天自己购置了光学显微镜,她将怡亲幼猫粮和另外一种猫粮研碎,与三款羽毛粉一起放在显微镜下对比。在镜头下,研碎的怡亲幼猫粮与羽毛粉呈现出相似的特征,有明显的羽枝和羽干。

很多涉事的猫粮事后厂家振振有词:“送去做了检测,成分完全合规。” 实际上是厂家在原料里使用了植物蛋白、肉骨粉、羽毛粉等增加了蛋白质含量。
另外,很多国产猫粮宣称里面添加了益生菌。非常值得深思。

好好的猫粮为啥要添加益生菌呢?这是要强行给猫助消化吗?不添加不行吗? 添加益生菌不要成本吗???显然是厂家有不可说的难言之隐。大家可以自行体会。

说到这里我想起前些年有商家宣称自己的是不拉肚子不上火的火锅,让顾客放心吃。 最后发现火锅里面添加了兽药抗生素。。。 抗生素特么的还是兽药的。这得有多扣成本啊。。。
顺便再说说为啥有的猫粮猫吃了会吐。原因很简单,猫粮遇水膨胀速度太快。至于为什么遇水膨胀速度太快,大家自行体会。给个提示,从淀粉含量上想。

给大家一些关键词,有兴趣可以放狗自行搜索,有惊喜(惊吓)。
猫粮 诱食剂
河北 猫粮
猫粮 羽毛 毒
猫粮 鸡粪
猫粮 羽毛
猫粮 羽毛粉